Class: BPMN::Event
Instance Attribute Summary collapse
Attributes inherited from Step
#default, #default_ref, #incoming, #outgoing
Attributes inherited from Element
#extension_elements, #id, #name
Instance Method Summary
collapse
Methods inherited from Step
#converging?, #diverging?, #input_mappings, #leave, #outgoing_flows, #output_mappings
Methods inherited from Element
#inspect
Constructor Details
#initialize(attributes = {}) ⇒ Event
Returns a new instance of Event.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/bpmn/event.rb', line 7
def initialize(attributes = {})
super(attributes.except(:message_event_definition, :signal_event_definition, :error_event_definition, :terminate_event_definition, :timer_event_definition))
@event_definitions = []
Array.wrap(attributes[:message_event_definition]).each do |med|
@event_definitions.push MessageEventDefinition.new(med)
end if attributes[:message_event_definition].present?
Array.wrap(attributes[:signal_event_definition]).each do |sed|
@event_definitions.push SignalEventDefinition.new(sed)
end if attributes[:signal_event_definition].present?
Array.wrap(attributes[:error_event_definition]).each do |eed|
@event_definitions.push ErrorEventDefinition.new(eed)
end if attributes[:error_event_definition].present?
Array.wrap(attributes[:terminate_event_definition]).each do |ted|
@event_definitions.push TerminateEventDefinition.new(ted)
end if attributes[:terminate_event_definition].present?
Array.wrap(attributes[:timer_event_definition]).each do |ted|
@event_definitions.push TimerEventDefinition.new(ted)
end if attributes[:timer_event_definition].present?
end
|
Instance Attribute Details
#event_definitions ⇒ Object
Returns the value of attribute event_definitions.
5
6
7
|
# File 'lib/bpmn/event.rb', line 5
def event_definitions
@event_definitions
end
|
Instance Method Details
#conditional_event_definition ⇒ Object
77
78
79
|
# File 'lib/bpmn/event.rb', line 77
def conditional_event_definition
event_definitions.find { |ed| ed.is_a?(ConditionalEventDefinition) }
end
|
#error_event_definition ⇒ Object
89
90
91
|
# File 'lib/bpmn/event.rb', line 89
def error_event_definition
event_definitions.find { |ed| ed.is_a?(ErrorEventDefinition) }
end
|
#error_event_definitions ⇒ Object
85
86
87
|
# File 'lib/bpmn/event.rb', line 85
def error_event_definitions
event_definitions.select { |ed| ed.is_a?(ErrorEventDefinition) }
end
|
#escalation_event_definition ⇒ Object
81
82
83
|
# File 'lib/bpmn/event.rb', line 81
def escalation_event_definition
event_definitions.find { |ed| ed.is_a?(EscalationEventDefinition) }
end
|
#event_definition_ids ⇒ Object
33
34
35
|
# File 'lib/bpmn/event.rb', line 33
def event_definition_ids
event_definitions.map(&:id)
end
|
#execute(execution) ⇒ Object
109
110
111
|
# File 'lib/bpmn/event.rb', line 109
def execute(execution)
event_definitions.each { |event_definition| event_definition.execute(execution) }
end
|
#is_catching? ⇒ Boolean
37
38
39
|
# File 'lib/bpmn/event.rb', line 37
def is_catching?
false
end
|
#is_conditional? ⇒ Boolean
49
50
51
|
# File 'lib/bpmn/event.rb', line 49
def is_conditional?
conditional_event_definition.present?
end
|
#is_error? ⇒ Boolean
57
58
59
|
# File 'lib/bpmn/event.rb', line 57
def is_error?
error_event_definition.present?
end
|
#is_escalation? ⇒ Boolean
53
54
55
|
# File 'lib/bpmn/event.rb', line 53
def is_escalation?
escalation_event_definition.present?
end
|
#is_message? ⇒ Boolean
61
62
63
|
# File 'lib/bpmn/event.rb', line 61
def is_message?
!message_event_definitions.empty?
end
|
#is_none? ⇒ Boolean
45
46
47
|
# File 'lib/bpmn/event.rb', line 45
def is_none?
event_definitions.empty?
end
|
#is_signal? ⇒ Boolean
65
66
67
|
# File 'lib/bpmn/event.rb', line 65
def is_signal?
!signal_event_definitions.empty?
end
|
#is_terminate? ⇒ Boolean
69
70
71
|
# File 'lib/bpmn/event.rb', line 69
def is_terminate?
terminate_event_definition.present?
end
|
#is_throwing? ⇒ Boolean
41
42
43
|
# File 'lib/bpmn/event.rb', line 41
def is_throwing?
false
end
|
#is_timer? ⇒ Boolean
73
74
75
|
# File 'lib/bpmn/event.rb', line 73
def is_timer?
timer_event_definition.present?
end
|
#message_event_definitions ⇒ Object
93
94
95
|
# File 'lib/bpmn/event.rb', line 93
def message_event_definitions
event_definitions.select { |ed| ed.is_a?(MessageEventDefinition) }
end
|
#signal_event_definitions ⇒ Object
97
98
99
|
# File 'lib/bpmn/event.rb', line 97
def signal_event_definitions
event_definitions.select { |ed| ed.is_a?(SignalEventDefinition) }
end
|
#terminate_event_definition ⇒ Object
101
102
103
|
# File 'lib/bpmn/event.rb', line 101
def terminate_event_definition
event_definitions.find { |ed| ed.is_a?(TerminateEventDefinition) }
end
|
#timer_event_definition ⇒ Object
105
106
107
|
# File 'lib/bpmn/event.rb', line 105
def timer_event_definition
event_definitions.find { |ed| ed.is_a?(TimerEventDefinition) }
end
|