No release in over 3 years
Low commit activity in last 3 years
Simple state transitions for ActiveRecord enum columns
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
~> 12.3.3
~> 3.0

Runtime

 Project Readme

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.