Module: PretendsLikeStateMachine::Mongoid::ClassMethods

Defined in:
lib/pretends_like_state_machine/mongoid/pretends_like_state_machine.rb

Instance Method Summary collapse

Instance Method Details

#pretends_like_state_machine(options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/pretends_like_state_machine/mongoid/pretends_like_state_machine.rb', line 6

def pretends_like_state_machine(options = {})
  field :state, type: Symbol

  options[:states].each do |state|
    define_method("#{state}!") do
      set(state: state)
    end

    define_method("#{state}?") do
      self.state == state
    end
  end
end