class Composition::Builders::Compose
Attributes
object[R]
Public Class Methods
new(object)
click to toggle source
# File lib/composition/builders/compose.rb, line 7 def initialize(object) @object = object end
Public Instance Methods
def_composition_methods()
click to toggle source
# File lib/composition/builders/compose.rb, line 11 def def_composition_methods _composition_reflections.each_value do |composition| def_composition_getter(composition) def_composition_setter(composition) end end
Private Instance Methods
def_composition_getter(composition)
click to toggle source
# File lib/composition/builders/compose.rb, line 20 def def_composition_getter(composition) define_method(composition.name) { composition.getter(self) } end
def_composition_setter(composition)
click to toggle source
# File lib/composition/builders/compose.rb, line 24 def def_composition_setter(composition) define_method("#{composition.name}=") { |setter_value| composition.setter(self, setter_value) } end
define_method(method_name, &block)
click to toggle source
# File lib/composition/builders/compose.rb, line 28 def define_method(method_name, &block) @object.class.send(:define_method, method_name, &block) end