Class: Minenum::Enum::ClassBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/minenum/enum/class_builder.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ ClassBuilder

Returns a new instance of ClassBuilder.



13
14
15
# File 'lib/minenum/enum/class_builder.rb', line 13

def initialize(values)
  @values = values
end

Class Method Details

.build(values = {}) ⇒ Object



9
10
11
# File 'lib/minenum/enum/class_builder.rb', line 9

def self.build(values = {})
  new(values).build
end

Instance Method Details

#buildObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/minenum/enum/class_builder.rb', line 17

def build
  values = Values.new(@values)

  klass = Class.new(Base) do
    @_values = values
  end

  values.each_key do |key|
    add_predicate_method(klass, key)
    add_bang_method(klass, key)
  end

  klass
end