class Pastafari::Builders::StateBuilder
Public Class Methods
new(name)
click to toggle source
# File lib/pastafari/builders/state_builder.rb, line 4 def initialize(name) @name = name @transitions = [] end
Public Instance Methods
build()
click to toggle source
# File lib/pastafari/builders/state_builder.rb, line 19 def build validate_handler State.new(@name, @handler, @transitions) end
process(&block)
click to toggle source
# File lib/pastafari/builders/state_builder.rb, line 9 def process(&block) raise ArgumentError unless block @handler = block end
transition_to(new_state)
click to toggle source
# File lib/pastafari/builders/state_builder.rb, line 15 def transition_to(new_state) Pastafari::Transition.new(new_state).tap { |t| @transitions << t } end
Private Instance Methods
validate_handler()
click to toggle source
# File lib/pastafari/builders/state_builder.rb, line 27 def validate_handler return if @handler raise Pastafari::Errors::InvalidStateError, '#process must be called when defining the State.' end