Module: SolidState::ClassMethods

Defined in:
lib/solid_state.rb

Instance Method Summary collapse

Instance Method Details

#starting_state(name) ⇒ Object

Define the starting state



21
22
23
# File 'lib/solid_state.rb', line 21

def starting_state(name)
  self.send(:define_method, :__start_state) { name }
end

#state(name, &block) ⇒ Object

Define a state



14
15
16
17
18
# File 'lib/solid_state.rb', line 14

def state(name, &block)
  klass = const_set("State_#{name}", Class.new(self))
  klass.send(:define_method, :state_name) { name }
  klass.class_eval(&block)
end