Module: Minenum::Model

Defined in:
lib/minenum/model.rb,
lib/minenum/model/reflection.rb

Overview

Minenum

Minenum enhances Ruby objects by adding enum functionality.

class Shirt
  include Minenum::Model

  enum :size, { small: 1, medium: 2, large: 3 }
end

shirt = Shirt.new
shirt.size = 1
shirt.size.name #=> :small
shirt.size.small? #=> true

# You can also set the name
shirt.size = :medium
shirt.size.name #=> :medium
shirt.size.medium? #=> true

# You can get the enum values
Shirt.size.values #=> { small: 1, medium: 2, large: 3 }

Defined Under Namespace

Modules: AccessorAdder, ClassMethods Classes: Reflection

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



32
33
34
# File 'lib/minenum/model.rb', line 32

def self.included(base)
  base.extend ClassMethods
end