Module: AASM
- Defined in:
- lib/aasm.rb,
lib/event.rb,
lib/state.rb,
lib/version.rb,
lib/persistence.rb,
lib/state_transition.rb,
lib/persistence/active_record_persistence.rb
Defined Under Namespace
Modules: ClassMethods, Persistence, SupportingClasses, VERSION Classes: InvalidTransition
Class Method Summary collapse
-
.included(base) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#aasm_current_state ⇒ Object
Instance methods.
- #aasm_events_for_current_state ⇒ Object
- #aasm_events_for_state(state) ⇒ Object
Class Method Details
.included(base) ⇒ Object
:nodoc:
9 10 11 12 |
# File 'lib/aasm.rb', line 9 def self.included(base) #:nodoc: base.extend AASM::ClassMethods AASM::Persistence.set_persistence(base) end |
Instance Method Details
#aasm_current_state ⇒ Object
Instance methods
97 98 99 100 101 102 103 104 105 |
# File 'lib/aasm.rb', line 97 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
107 108 109 |
# File 'lib/aasm.rb', line 107 def aasm_events_for_current_state aasm_events_for_state(aasm_current_state) end |
#aasm_events_for_state(state) ⇒ Object
111 112 113 114 |
# File 'lib/aasm.rb', line 111 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 |