Class: Icing::Decorations::Composite

Inherits:
Base
  • Object
show all
Defined in:
lib/icing/decorations/composite.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#decorated, #method_missing, #respond_to_missing?, #wrapping, #wrapping_other

Constructor Details

#initialize(decorations) ⇒ Composite

Returns a new instance of Composite.



6
7
8
# File 'lib/icing/decorations/composite.rb', line 6

def initialize(decorations)
  @decorations = decorations
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Icing::Decorations::Base

Instance Attribute Details

#decorationsObject (readonly)

Returns the value of attribute decorations.



4
5
6
# File 'lib/icing/decorations/composite.rb', line 4

def decorations
  @decorations
end

Instance Method Details

#to_aObject



18
19
20
# File 'lib/icing/decorations/composite.rb', line 18

def to_a
  decorations
end

#within(other) ⇒ Object



10
11
12
# File 'lib/icing/decorations/composite.rb', line 10

def within(other)
  other.wrapping_composite(self)
end

#wrapping_composite(composite) ⇒ Object



14
15
16
# File 'lib/icing/decorations/composite.rb', line 14

def wrapping_composite(composite)
  self.class.new(composite.to_a + decorations)
end