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

Defined in:
lib/alexrevin-aasm_numerical/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. 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