Class: SimplerEnum::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/simpler_enum/generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass, enum_name, enum_values) ⇒ Generator

Returns a new instance of Generator.



3
4
5
6
7
# File 'lib/simpler_enum/generator.rb', line 3

def initialize(klass, enum_name, enum_values)
  @klass = klass
  @enum_name = enum_name
  @enum_values = enum_values
end

Instance Method Details

#execute!Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/simpler_enum/generator.rb', line 9

def execute!
  define_read_enum_values_method_to_class!

  define_read_attribute!
  define_write_attribute!

  define_read_enum_value_method_to_instance!
  define_write_enum_value_method_to_instance!

  @enum_values.each do |key, _|
    define_query_enum_state_method_to_instance!(key)
    define_change_enum_state_method_to_instance!(key)
  end
end