Class: SimplerEnum::Generator
- Inherits:
-
Object
- Object
- SimplerEnum::Generator
- Defined in:
- lib/simpler_enum/generator.rb
Instance Method Summary collapse
- #execute! ⇒ Object
-
#initialize(klass, enum_name, enum_values) ⇒ Generator
constructor
A new instance of Generator.
Constructor Details
#initialize(klass, enum_name, enum_values) ⇒ Generator
Returns a new instance of Generator.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/simpler_enum/generator.rb', line 3 def initialize(klass, enum_name, enum_values) @klass = klass @enum_name = enum_name @enum_values = case when enum_values.is_a?(Array) enum_values.zip(0...enum_values.size).reduce({}) do |hash, (key, val)| hash.merge!(key => val) end when enum_values.is_a?(Hash) enum_values else fail ArgumentError end end |
Instance Method Details
#execute! ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/simpler_enum/generator.rb', line 19 def execute! define_read_enum_values_method_to_class! define_read_attribute_to_instance! define_write_attribute_to_instance! 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 |