Module: RailsMachine::ClassMethods

Defined in:
lib/rails_machine.rb

Instance Method Summary collapse

Instance Method Details

#rails_machine(column: :state, &blk) ⇒ Object

Raises:

  • (ArgumentError)


43
44
45
46
47
48
49
50
51
52
# File 'lib/rails_machine.rb', line 43

def rails_machine(column: :state, &blk)
  raise ArgumentError unless block_given?

  configuration = Configuration.new
  configuration.run(&blk)

  self.transitions = configuration.transitions
  self.init_states = configuration.init_states
  enum column => Hash[configuration.states]
end