Module: AASM::Persistence::ActiveRecordPersistence::ClassMethods
- Defined in:
- lib/alexrevin-aasm_numerical/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. Defaults 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
86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/alexrevin-aasm_numerical/persistence/active_record_persistence.rb', line 86 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
110 111 112 113 114 |
# File 'lib/alexrevin-aasm_numerical/persistence/active_record_persistence.rb', line 110 def calculate_in_state(state, *args) with_state_scope state do calculate(*args) end end |
#count_in_state(state, *args) ⇒ Object
104 105 106 107 108 |
# File 'lib/alexrevin-aasm_numerical/persistence/active_record_persistence.rb', line 104 def count_in_state(state, *args) with_state_scope state do count(*args) end end |
#find_in_state(number, state, *args) ⇒ Object
98 99 100 101 102 |
# File 'lib/alexrevin-aasm_numerical/persistence/active_record_persistence.rb', line 98 def find_in_state(number, state, *args) with_state_scope state do find(number, *args) end end |