module Moory::Afferent
Attributes
state[RW]
transitions[RW]
Public Instance Methods
awaits()
click to toggle source
# File lib/moory/machine.rb, line 22 def awaits transitions.egresses(state:state) end
issue(stimulus)
click to toggle source
# File lib/moory/machine.rb, line 15 def issue(stimulus) if response = transitions.response(origin: state, stimulus: stimulus) honour(response) state end end
understand?(stimulus)
click to toggle source
# File lib/moory/machine.rb, line 26 def understand?(stimulus) awaits.include?(stimulus) end
Private Instance Methods
honour(response)
click to toggle source
# File lib/moory/machine.rb, line 36 def honour(response) settle_accordingly(response) end
settle_accordingly(response)
click to toggle source
# File lib/moory/machine.rb, line 32 def settle_accordingly(response) @state = response[:settlement] end