Module: ActiveSaga::DSL::Signals

Included in:
Workflow
Defined in:
lib/active_saga/dsl/signals.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



6
7
8
# File 'lib/active_saga/dsl/signals.rb', line 6

def self.extended(base)
  base.class_attribute :_as_signal_handlers, instance_writer: false, default: {} # name => method
end

Instance Method Details

#inherited(subclass) ⇒ Object



10
11
12
13
# File 'lib/active_saga/dsl/signals.rb', line 10

def inherited(subclass)
  super
  subclass._as_signal_handlers = _as_signal_handlers.dup
end

#signal(name, to:) ⇒ Object



15
16
17
# File 'lib/active_saga/dsl/signals.rb', line 15

def signal(name, to:)
  self._as_signal_handlers = _as_signal_handlers.merge(name.to_sym => to.to_sym)
end

#signal_handler_for(name) ⇒ Object



19
20
21
# File 'lib/active_saga/dsl/signals.rb', line 19

def signal_handler_for(name)
  _as_signal_handlers[name.to_sym]
end