lib/aasm/aasm.rb in aasm-3.0.14 vs lib/aasm/aasm.rb in aasm-3.0.15

- old
+ new

@@ -1,32 +1,32 @@ module AASM def self.included(base) #:nodoc: base.extend AASM::ClassMethods - - unless AASM::StateMachine[base] - AASM::StateMachine[base] = AASM::StateMachine.new('') - end + AASM::StateMachine[base] ||= AASM::StateMachine.new('') AASM::Persistence.set_persistence(base) super end module ClassMethods + + # make sure inheritance (aka subclassing) works with AASM def inherited(klass) AASM::StateMachine[klass] = AASM::StateMachine[self].clone super end def aasm(options={}, &block) @aasm ||= AASM::Base.new(self, options) - @aasm.instance_eval(&block) if block + @aasm.instance_eval(&block) if block # new DSL @aasm end + # TODO: maybe better: aasm.initial_state def aasm_initial_state(set_state=nil) if set_state - # deprecated + # deprecated way to set the value AASM::StateMachine[self].initial_state = set_state else AASM::StateMachine[self].initial_state end end @@ -67,11 +67,12 @@ # deprecated def aasm_states_for_select aasm.states_for_select end - def aasm_human_event_name(event) + # aasm.event(:event_name).human? + def aasm_human_event_name(event) # event_name? AASM::SupportingClasses::Localizer.new.human_event_name(self, event) end end # ClassMethods # this method does what? does it deliver the current state? @@ -108,10 +109,10 @@ events = self.class.aasm_events.values.select {|event| event.transitions_from_state?(state) } events.map {|event| event.name} end def aasm_human_state - AASM::SupportingClasses::Localizer.new.human_state(self) + AASM::SupportingClasses::Localizer.new.human_state_name(self.class, aasm_current_state) end private def aasm_persistable?