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

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

Instance Method Summary collapse

Instance Method Details

#aasm_column(column_name = nil) ⇒ Object

Maps to the aasm_column in the database. Deafults to “aasm_state”. You can write:

create_table :foos do |t|
  t.string :name
  t.string :aasm_state
end

class Foo < ActiveRecord::Base
  include AASM
end

OR:

create_table :foos do |t|
  t.string :name
  t.string :status
end

class Foo < ActiveRecord::Base
  include AASM
  aasm_column :status
end

This method is both a getter and a setter



85
86
87
88
89
90
91
92
93
94
95
# File 'lib/aasm/persistence/active_record_persistence.rb', line 85

def aasm_column(column_name=nil)
  if column_name
    AASM::StateMachine[self].config.column = column_name.to_sym
    # @aasm_column = column_name.to_sym
  else
    AASM::StateMachine[self].config.column ||= :aasm_state
    # @aasm_column ||= :aasm_state
  end
  # @aasm_column
  AASM::StateMachine[self].config.column
end

#calculate_in_state(state, *args) ⇒ Object



109
110
111
112
113
# File 'lib/aasm/persistence/active_record_persistence.rb', line 109

def calculate_in_state(state, *args)
  with_state_scope state do
    calculate(*args)
  end
end

#count_in_state(state, *args) ⇒ Object



103
104
105
106
107
# File 'lib/aasm/persistence/active_record_persistence.rb', line 103

def count_in_state(state, *args)
  with_state_scope state do
    count(*args)
  end
end

#find_in_state(number, state, *args) ⇒ Object



97
98
99
100
101
# File 'lib/aasm/persistence/active_record_persistence.rb', line 97

def find_in_state(number, state, *args)
  with_state_scope state do
    find(number, *args)
  end
end