module PretendsLikeStateMachine::Mongoid::ClassMethods

Public Instance Methods

pretends_like_state_machine(options = {}) click to toggle source
# 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