Class: Hoodie::TransitionTable

Inherits:
Object
  • Object
show all
Defined in:
lib/hoodie/utils/machine.rb

Defined Under Namespace

Classes: TransitionError

Instance Method Summary collapse

Constructor Details

#initialize(transitions) ⇒ TransitionTable

Returns a new instance of TransitionTable.



72
73
74
# File 'lib/hoodie/utils/machine.rb', line 72

def initialize(transitions)
  @transitions = transitions
end

Instance Method Details

#call(state, input) ⇒ Object



76
77
78
79
80
# File 'lib/hoodie/utils/machine.rb', line 76

def call(state, input)
  @transitions.fetch([state, input])
rescue KeyError
  raise TransitionError.new(state, input)
end