Method: SpotFlow::Bpmn::Event#initialize

Defined in:
lib/spot_flow/bpmn/event.rb

#initialize(attributes = {}) ⇒ Event

Returns a new instance of Event.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/spot_flow/bpmn/event.rb', line 8

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