Module: AASM::Persistence::ActiveRecordPersistence::ClassMethods
- Defined in:
- lib/aasm/persistence/active_record_persistence.rb
Instance Method Summary collapse
-
#aasm_column(column_name = nil) ⇒ Object
Maps to the aasm_column in the database.
- #calculate_in_state(state, *args) ⇒ Object
- #count_in_state(state, *args) ⇒ Object
- #find_in_state(number, state, *args) ⇒ Object
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 |