Class: EventEngine::LifecycleDefinition

Inherits:
Object
  • Object
show all
Includes:
EventDefinition::Inputs, EventDefinition::Payloads
Defined in:
lib/event_engine/lifecycle_definition.rb

Class Method Summary collapse

Methods included from EventDefinition::Payloads

included

Methods included from EventDefinition::Inputs

included

Class Method Details

.declared_event_typeObject



45
46
47
# File 'lib/event_engine/lifecycle_definition.rb', line 45

def declared_event_type
  @event_type
end

.declared_process_typeObject



49
50
51
# File 'lib/event_engine/lifecycle_definition.rb', line 49

def declared_process_type
  @process_type
end

.declared_subjectObject



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_eventsObject



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_overridesObject



29
30
31
# File 'lib/event_engine/lifecycle_definition.rb', line 29

def verb_overrides
  @verb_overrides ||= {}
end