https://github.com/johnvuko/jt-rails-enum
JTRailsEnum let you use enum in your models
https://github.com/johnvuko/jt-rails-enum
Last synced: 9 months ago
JSON representation
JTRailsEnum let you use enum in your models
- Host: GitHub
- URL: https://github.com/johnvuko/jt-rails-enum
- Owner: johnvuko
- License: mit
- Created: 2016-04-14T12:01:24.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-07-18T16:04:43.000Z (almost 10 years ago)
- Last Synced: 2025-02-06T12:48:47.425Z (over 1 year ago)
- Language: Ruby
- Size: 2.93 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JTRailsEnum
[](http://badge.fury.io/rb/jt-rails-enum)
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
```ruby
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.
```ruby
# 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
- [Jonathan Tribouharet](https://github.com/jonathantribouharet) ([@johntribouharet](https://twitter.com/johntribouharet))
## License
JTRailsEnum is released under the MIT license. See the LICENSE file for more info.