Class: EventEngine::LifecycleDefinition
- Inherits:
-
Object
- Object
- EventEngine::LifecycleDefinition
- Includes:
- EventDefinition::Inputs, EventDefinition::Payloads
- Defined in:
- lib/event_engine/lifecycle_definition.rb
Class Method Summary collapse
- .declared_event_type ⇒ Object
- .declared_process_type ⇒ Object
- .declared_subject ⇒ Object
- .event_type(value) ⇒ Object
- .generated_events ⇒ Object
- .lifecycle(*verbs) ⇒ Object
- .materialize_all! ⇒ Object
- .on(verb, &block) ⇒ Object
- .process_type(value) ⇒ Object
- .subject(value) ⇒ Object
- .verb_overrides ⇒ Object
Methods included from EventDefinition::Payloads
Methods included from EventDefinition::Inputs
Class Method Details
.declared_event_type ⇒ Object
45 46 47 |
# File 'lib/event_engine/lifecycle_definition.rb', line 45 def declared_event_type @event_type end |
.declared_process_type ⇒ Object
49 50 51 |
# File 'lib/event_engine/lifecycle_definition.rb', line 49 def declared_process_type @process_type end |
.declared_subject ⇒ Object
41 42 43 |
# File 'lib/event_engine/lifecycle_definition.rb', line 41 def declared_subject @subject end |
.event_type(value) ⇒ Object
13 14 15 |
# File 'lib/event_engine/lifecycle_definition.rb', line 13 def event_type(value) @event_type = value end |
.generated_events ⇒ Object
33 34 35 |
# File 'lib/event_engine/lifecycle_definition.rb', line 33 def generated_events @generated_events ||= Array(@verbs).map { |verb| build_event(verb) } end |
.lifecycle(*verbs) ⇒ Object
21 22 23 |
# File 'lib/event_engine/lifecycle_definition.rb', line 21 def lifecycle(*verbs) @verbs = verbs end |
.materialize_all! ⇒ Object
37 38 39 |
# File 'lib/event_engine/lifecycle_definition.rb', line 37 def materialize_all! subclasses.flat_map(&:generated_events) end |
.on(verb, &block) ⇒ Object
25 26 27 |
# File 'lib/event_engine/lifecycle_definition.rb', line 25 def on(verb, &block) verb_overrides[verb] = block end |
.process_type(value) ⇒ Object
17 18 19 |
# File 'lib/event_engine/lifecycle_definition.rb', line 17 def process_type(value) @process_type = value end |
.subject(value) ⇒ Object
9 10 11 |
# File 'lib/event_engine/lifecycle_definition.rb', line 9 def subject(value) @subject = value end |
.verb_overrides ⇒ Object
29 30 31 |
# File 'lib/event_engine/lifecycle_definition.rb', line 29 def verb_overrides @verb_overrides ||= {} end |