class Pastafari::Transition

Attributes

evaluator[R]
next_state[R]

Public Class Methods

new(next_state) click to toggle source
# File lib/pastafari/transition.rb, line 3
def initialize(next_state)
  @next_state = next_state
end

Public Instance Methods

evaluate(input) click to toggle source
# File lib/pastafari/transition.rb, line 15
def evaluate(input)
  raise Pastafari::Errors::InvalidStateError unless evaluator

  evaluator.call(input)
end
when(&block) click to toggle source
# File lib/pastafari/transition.rb, line 9
def when(&block)
  raise ArgumentError unless block

  @evaluator = block
end