module AASM::Persistence::ActiveRecordPersistence::ClassMethods

Public Instance Methods

aasm_create_scope(state_machine_name, scope_name) click to toggle source
# File lib/aasm/persistence/active_record_persistence.rb, line 43
def aasm_create_scope(state_machine_name, scope_name)
  if ActiveRecord::VERSION::MAJOR >= 3
    conditions = { aasm(state_machine_name).attribute_name => scope_name.to_s }
    class_eval do
      scope scope_name, lambda { where(table_name => conditions) }
    end
  else
    conditions = {
      table_name => { aasm(state_machine_name).attribute_name => scope_name.to_s }
    }
    class_eval do
      named_scope scope_name, :conditions => conditions
    end
  end
end