Rasti::Enum
Enum objects
Installation
Add this line to your application's Gemfile:
gem 'rasti-enum'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rasti-enum
Definition
module Colors
extend Rasti::Enum
module Common
def red?
false
end
def green?
false
end
def blue?
false
end
end
class Red < Rasti::Enum::Value
include Common
def red?
true
end
end
class Green < Rasti::Enum::Value
include Common
def green?
true
end
end
class Blue < Rasti::Enum::Value
include Common
def blue?
true
end
end
end
Usage
Colors.values # => [Colors::Blue.new, Colors::Green.new, Colors::Red.new]
Colors.include?('GREEN') # => true
Colors.include?('WHITE') # => false
Colors['BLUE'].blue? # => true
Colors['BLUE'].red? # => false
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/gabynaiman/rasti-enum.
License
The gem is available as open source under the terms of the MIT License.