Module: Minenum::Model::AccessorAdder
- Defined in:
- lib/minenum/model.rb
Overview
:nodoc:
Class Method Summary collapse
- .add(model_class, methods_module, reflection) ⇒ Object
- .add_getter(methods_module, name) ⇒ Object
- .add_setter(methods_module, name) ⇒ Object
- .add_singleton_method(model_class, name) ⇒ Object
Class Method Details
.add(model_class, methods_module, reflection) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/minenum/model.rb', line 38 def add(model_class, methods_module, reflection) add_singleton_method(model_class, reflection.name) add_getter(methods_module, reflection.name) add_setter(methods_module, reflection.name) model_class._minenum_reflections[reflection.name] = reflection end |
.add_getter(methods_module, name) ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/minenum/model.rb', line 56 def add_getter(methods_module, name) methods_module.module_eval <<~RUBY, __FILE__, __LINE__ + 1 def #{name} # def size _minenum_enum(:'#{name}') # _minenum_enum(:'size') end # end RUBY end |
.add_setter(methods_module, name) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/minenum/model.rb', line 64 def add_setter(methods_module, name) methods_module.module_eval <<~RUBY, __FILE__, __LINE__ + 1 def #{name}=(value) # def size=(value) _minenum_enum(:'#{name}').value = value # _minenum_enum(:'size').value = value end # end RUBY end |
.add_singleton_method(model_class, name) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/minenum/model.rb', line 48 def add_singleton_method(model_class, name) model_class.class_eval <<~RUBY, __FILE__, __LINE__ + 1 def self.#{name} # def self.size _minenum_reflections[:'#{name}'].enum_class # _minenum_reflections[:'size'].enum_class end # end RUBY end |