module Eye::Process::Trigger
Public Instance Methods
add_triggers()
click to toggle source
# File lib/eye/process/trigger.rb, line 3 def add_triggers (self[:triggers] || {}).each_value { |cfg| add_trigger(cfg) } end
check_triggers(transition)
click to toggle source
# File lib/eye/process/trigger.rb, line 11 def check_triggers(transition) self.triggers.each { |trigger| trigger.notify(transition, @state_call) } end
conditional_start()
click to toggle source
conditional start, used in triggers, to start only from unmonitored state, and only if special reason
# File lib/eye/process/trigger.rb, line 16 def conditional_start unless unmonitored? warn "skip, because in state #{state_name}" return end state_by = @state_call.try(:[], :by) current_by = @scheduled_call.try(:[], :by) if state_by && current_by && state_by != current_by warn "skip, state_by(#{state_by}) != current_by(#{current_by})" return end start end
remove_triggers()
click to toggle source
# File lib/eye/process/trigger.rb, line 7 def remove_triggers self.triggers = [] end
Private Instance Methods
add_trigger(cfg = {})
click to toggle source
# File lib/eye/process/trigger.rb, line 34 def add_trigger(cfg = {}) trigger = Eye::Trigger.create(current_actor, cfg) self.triggers << trigger if trigger end