state_machine

https://github.com/pluginaweek/state_machine

Ruby

Adds support for creating state machines for attributes on any Ruby class

StateMachine::Integrations::DataMapper::Observer#around_transition

Creates a callback that will be invoked *around* a transition so long
as the given requirements match the transition.

== Examples

  class Vehicle
    include DataMapper::Resource
    
    property :id, Serial
    property :state, :String
    
    state_machine :initial => :parked do
      event :ignite do
        transition :parked => :idling
      end
    end
  end
  
  class VehicleObserver
    include DataMapper::Observer
    
    observe Vehicle
    
    around_transition do |transition, block|
      # track start time
      block.call
      # track end time
    end
  end

See +before_transition+ for a description of the possible configurations
for defining callbacks.

Source | Google | Stack overflow

Edit

git clone [email protected]:pluginaweek/state_machine.git

cd state_machine

open lib/state_machine/integrations/data_mapper/observer.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-StateMachine--Integrations--DataMapper--Observer-around_transition-for-pr


# Commit to git

git add lib/state_machine/integrations/data_mapper/observer.rbgit commit -m "better docs for StateMachine::Integrations::DataMapper::Observer#around_transition"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-StateMachine--Integrations--DataMapper--Observer-around_transition-for-pr

hub pull-request


# Celebrate!