Module: AASM
- Defined in:
- lib/AASM/aasm.rb,
lib/AASM/state_machine.rb,
lib/AASM/SupportingClasses/event.rb,
lib/AASM/SupportingClasses/state.rb,
lib/AASM/persistence/persistence.rb,
lib/AASM/SupportingClasses/state_transition.rb,
lib/AASM/persistence/active_record_persistence.rb
Defined Under Namespace
Modules: ClassMethods, Persistence, SupportingClasses
Classes: InvalidTransition, StateMachine, UndefinedState
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/AASM/aasm.rb', line 17
def self.included(base)
base.extend AASM::ClassMethods
AASM::Persistence.set_persistence(base)
AASM::StateMachine[base] = AASM::StateMachine.new('')
end
|
.Version ⇒ Object
7
8
9
|
# File 'lib/AASM/aasm.rb', line 7
def self.Version
'2.0.6'
end
|
Instance Method Details
#aasm_current_state ⇒ Object
85
86
87
88
89
90
91
92
93
|
# File 'lib/AASM/aasm.rb', line 85
def aasm_current_state
return @aasm_current_state if @aasm_current_state
if self.respond_to?(:aasm_read_state) || self.private_methods.include?('aasm_read_state')
@aasm_current_state = aasm_read_state
end
return @aasm_current_state if @aasm_current_state
self.class.aasm_initial_state
end
|
#aasm_events_for_current_state ⇒ Object
95
96
97
|
# File 'lib/AASM/aasm.rb', line 95
def aasm_events_for_current_state
aasm_events_for_state(aasm_current_state)
end
|
#aasm_events_for_state(state) ⇒ Object
99
100
101
102
|
# File 'lib/AASM/aasm.rb', line 99
def aasm_events_for_state(state)
events = self.class.aasm_events.values.select {|event| event.transitions_from_state?(state) }
events.map {|event| event.name}
end
|