Class: Hecks::Runtime::CommandRules

Inherits:
Object
  • Object
show all
Includes:
Admissibility, Arithmetic, Authorization, Emission, References
Defined in:
lib/hecks/runtime/command_rules.rb,
lib/hecks/runtime/command_rules/emission.rb,
lib/hecks/runtime/command_rules/arithmetic.rb,
lib/hecks/runtime/command_rules/references.rb,
lib/hecks/runtime/command_rules/admissibility.rb,
lib/hecks/runtime/command_rules/authorization.rb

Overview

The rules both interpreters consult, one concern per file beside this one: whether a command may run (admissibility), whether its references point at anything (references), what its arithmetic mutations mean (arithmetic), what its emits become (emission), and whether the caller may run it at all (authorization).

Defined Under Namespace

Modules: Admissibility, Arithmetic, Authorization, Emission, References

Constant Summary

Constants included from Arithmetic

Arithmetic::MUTATION_OPS

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Authorization

#refuse_role_mismatch

Methods included from Emission

#emit

Methods included from Arithmetic

#arithmetic, #arithmetic_value_object, #clamp, #multiply, #resolve_source, #sign_of

Methods included from References

#dereference, #reference_key, #referenced_aggregate, #resolve_references, #resolve_state_references, #validate_reference_values, #validate_relationship_cardinality

Methods included from Admissibility

#admissible_transition, #check_entity_invariants, #enforce_ensures, #enforce_givens, #enforce_invariants, #enforce_lifecycle_guard

Constructor Details

#initialize(registry) ⇒ CommandRules

Returns a new instance of CommandRules.



23
24
25
# File 'lib/hecks/runtime/command_rules.rb', line 23

def initialize(registry)
  @registry = registry
end

Instance Attribute Details

#registryObject (readonly)

Returns the value of attribute registry.



21
22
23
# File 'lib/hecks/runtime/command_rules.rb', line 21

def registry
  @registry
end