Module: Moory::Afferent

Extended by:
Forwardable
Included in:
Efferent, Recogniser
Defined in:
lib/moory/machine.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#stateObject

Returns the value of attribute state.



6
7
8
# File 'lib/moory/machine.rb', line 6

def state
  @state
end

#transitionsObject

Returns the value of attribute transitions.



5
6
7
# File 'lib/moory/machine.rb', line 5

def transitions
  @transitions
end

Instance Method Details

#awaitsObject



22
23
24
# File 'lib/moory/machine.rb', line 22

def awaits
  transitions.egresses(state:state)
end

#issue(stimulus) ⇒ Object



15
16
17
18
19
20
# 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) ⇒ Boolean



26
27
28
# File 'lib/moory/machine.rb', line 26

def understand?(stimulus)
  awaits.include?(stimulus)
end