class Djoini::Composite
Handles dynamic attributes of the model
Attributes
recievers[RW]
Public Class Methods
new()
click to toggle source
# File lib/djoini/composite.rb, line 19 def initialize self.recievers = [] end
Public Instance Methods
<<(method)
click to toggle source
# File lib/djoini/composite.rb, line 23 def <<(method) recievers.push(method) end
dispatch(method, *array, &block)
click to toggle source
# File lib/djoini/composite.rb, line 31 def dispatch(method, *array, &block) obj = reciever(method) fail NoMethodError, "No component implements #{method}" unless obj obj.send(method, *array, &block) end
reveives?(method)
click to toggle source
# File lib/djoini/composite.rb, line 27 def reveives?(method) reciever(method) end
Private Instance Methods
reciever(method)
click to toggle source
# File lib/djoini/composite.rb, line 41 def reciever(method) recievers.find { |el| el.respond_to?(method) } end