Class: EpiDecorator::CollectionDecorator

Inherits:
Delegator
  • Object
show all
Includes:
Enumerable
Defined in:
lib/epi_decorator/collection_decorator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object, with: nil) ⇒ CollectionDecorator

Returns a new instance of CollectionDecorator.



18
19
20
21
# File 'lib/epi_decorator/collection_decorator.rb', line 18

def initialize(object, with: nil)
  @decorator_class = with
  self.object = object
end

Instance Attribute Details

#objectObject

Returns the value of attribute object.



5
6
7
# File 'lib/epi_decorator/collection_decorator.rb', line 5

def object
  @object
end

Instance Method Details

#__getobj__Object



7
8
9
# File 'lib/epi_decorator/collection_decorator.rb', line 7

def __getobj__
  self.object
end

#__setobj__(obj) ⇒ Object



11
12
13
# File 'lib/epi_decorator/collection_decorator.rb', line 11

def __setobj__(obj)
  self.object = obj
end

#decorated_collectionObject



23
24
25
# File 'lib/epi_decorator/collection_decorator.rb', line 23

def decorated_collection
  @decorated_collection ||= object.map { |item| decorate_item(item) }
end

#each(&block) ⇒ Object



27
28
29
# File 'lib/epi_decorator/collection_decorator.rb', line 27

def each(&block)
  decorated_collection.each { |decorated_item| block.call(decorated_item) }
end