Module: Acts::As::Multiple::StateMachines::ActMacro::ClassMethods
- Defined in:
- lib/acts/as/multiple/state_machines/active_record_extension.rb
Instance Method Summary collapse
- #calculate_in_state(state_machine_name, state, *args) ⇒ Object
- #count_in_state(state_machine_name, state, *args) ⇒ Object
- #find_in_state(state_machine_name, number, state, *args) ⇒ Object
- #state_machines ⇒ Object
- #with_state_scope(state_machine_name, state) ⇒ Object
Instance Method Details
#calculate_in_state(state_machine_name, state, *args) ⇒ Object
53 54 55 56 57 |
# File 'lib/acts/as/multiple/state_machines/active_record_extension.rb', line 53 def calculate_in_state(state_machine_name, state, *args) with_state_scope state_machine_name, state do calculate(*args) end end |
#count_in_state(state_machine_name, state, *args) ⇒ Object
47 48 49 50 51 |
# File 'lib/acts/as/multiple/state_machines/active_record_extension.rb', line 47 def count_in_state(state_machine_name, state, *args) with_state_scope state_machine_name, state do count(*args) end end |
#find_in_state(state_machine_name, number, state, *args) ⇒ Object
41 42 43 44 45 |
# File 'lib/acts/as/multiple/state_machines/active_record_extension.rb', line 41 def find_in_state(state_machine_name, number, state, *args) with_state_scope state_machine_name, state do find(number, *args) end end |
#state_machines ⇒ Object
37 38 39 |
# File 'lib/acts/as/multiple/state_machines/active_record_extension.rb', line 37 def state_machines read_inheritable_attribute :state_machine_classes end |
#with_state_scope(state_machine_name, state) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/acts/as/multiple/state_machines/active_record_extension.rb', line 59 def with_state_scope(state_machine_name, state) sm = state_machine_classes[state_machine_name.to_sym] raise InvalidState unless sm.states.include?(state.to_sym) with_scope :find => {:conditions => ["#{table_name}.#{sm.state_column} = ?", state.to_s]} do yield if block_given? end end |