Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.01 KB

README.md

File metadata and controls

53 lines (34 loc) · 1.01 KB

Enum::Transitions

Installation

Add this line to your application's Gemfile:

gem 'enum-transitions', '~> 1.0.1

And then execute:

$ bundle

Or install it yourself as:

$ gem install enum-transitions

Usage

class Model < ApplicationRecord
  include Enum::Transitions::DSL

  enum state: [:pending, :active, :finihed, :failed]

  transitions enum: :state do
    allow pending => active

    allow active => [finihed, failed] do
      after do
        # ...
      end
    end

    after_leaving pending do
      # ...
    end
  end
end

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/adone/enum-transitions.

License

The gem is available as open source under the terms of the MIT License.