Skip to content

gabynaiman/rasti-enum

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages