Module: AASM::Persistence::ActiveRecordPersistence::ClassMethods

Defined in:
lib/aasm/persistence/active_record_persistence.rb

Instance Method Summary collapse

Instance Method Details

#aasm_create_scope(state_machine_name, scope_name) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/aasm/persistence/active_record_persistence.rb', line 41

def aasm_create_scope(state_machine_name, scope_name)
  conditions = {
    table_name => { aasm(state_machine_name).attribute_name => scope_name.to_s }
  }
  if ActiveRecord::VERSION::MAJOR >= 3
    class_eval do
      scope scope_name, lambda { where(conditions) }
    end
  else
    class_eval do
      named_scope scope_name, :conditions => conditions
    end
  end
end