Project

rasti-enum

0.0
No commit activity in last 3 years
No release in over 3 years
Enum objects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.8
~> 5.0, < 5.11
~> 0.2
~> 12.0
~> 0.12

Runtime

~> 0.0
 Project Readme

Rasti::Enum

Gem Version Build Status Coverage Status Code Climate

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.