Class: Djoini::Composite

Inherits:
Object
  • Object
show all
Defined in:
lib/djoini/composite.rb

Overview

Handles dynamic attributes of the model

Instance Method Summary collapse

Constructor Details

#initializeComposite

Returns a new instance of Composite.



19
20
21
# File 'lib/djoini/composite.rb', line 19

def initialize
  self.recievers = []
end

Instance Method Details

#<<(method) ⇒ Object



23
24
25
# File 'lib/djoini/composite.rb', line 23

def <<(method)
  recievers.push(method)
end

#dispatch(method, *array, &block) ⇒ Object



31
32
33
34
35
36
37
# 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) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/djoini/composite.rb', line 27

def reveives?(method)
  reciever(method)
end