Skip to content

jonathantribouharet/jt-rails-enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JTRailsEnum

Gem Version

JTRailsEnum let you use enum in your models. JTRailsEnum doesn't works exactly like enum in Ruby On Rails. It always add a prefix, which is a better behavior when you use multiple enums in a model. The prefix option is also not present in the Ruby On Rails 4.0.

Installation

JTRailsEnum is distributed as a gem, which is how it should be used in your app.

Include the gem in your Gemfile:

gem 'jt-rails-enum', '~> 1.0'

Usage

Basic usage

class User < ActiveRecord::Base

    jt_enum confirmation_status: [
        :waiting,
        :accepted,
        :refused
    ]

end

Scopes and some basic methods are automatically created for each value in the enum.

# User.where(confirmation_status: User.confirmation_statuses[:waiting]).first
user = User.confirmation_status_waiting.first

# User.where.not(confirmation_status: User.confirmation_statuses[:waiting]).first
user = User.confirmation_status_not_waiting.first

# Equivalent to user.update!(confirmation_status: User.confirmation_statuses[:accepted])
user.confirmation_status_accepted!

# Equivalent to user.confirmation_status == User.confirmation_statuses[:accepted]
user.confirmation_status_accepted?

Author

License

JTRailsEnum is released under the MIT license. See the LICENSE file for more info.

About

JTRailsEnum let you use enum in your models

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages