Class: Montage::Collection
- Inherits:
-
Object
- Object
- Montage::Collection
show all
- Includes:
- Enumerable
- Defined in:
- lib/montage/collection.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(raw_items) ⇒ Collection
Returns a new instance of Collection.
7
8
9
10
|
# File 'lib/montage/collection.rb', line 7
def initialize(raw_items)
@raw_items = raw_items.dup.freeze
@items = parse_items
end
|
Instance Attribute Details
#items ⇒ Object
Returns the value of attribute items.
5
6
7
|
# File 'lib/montage/collection.rb', line 5
def items
@items
end
|
#raw_items ⇒ Object
Returns the value of attribute raw_items.
5
6
7
|
# File 'lib/montage/collection.rb', line 5
def raw_items
@raw_items
end
|
Class Method Details
.collection_name ⇒ Object
12
13
14
|
# File 'lib/montage/collection.rb', line 12
def self.collection_name
"resources"
end
|
.resource_name ⇒ Object
16
17
18
|
# File 'lib/montage/collection.rb', line 16
def self.resource_name
"resource"
end
|
Instance Method Details
#attributes ⇒ Object
35
36
37
|
# File 'lib/montage/collection.rb', line 35
def attributes
items.map { |item| item.attributes }
end
|
#each(&block) ⇒ Object
43
44
45
|
# File 'lib/montage/collection.rb', line 43
def each(&block)
items.each { |item| yield(item) }
end
|
#item_class ⇒ Object
20
21
22
|
# File 'lib/montage/collection.rb', line 20
def item_class
@item_class ||= Montage::Resources.find_class(self.class.resource_name)
end
|
#parse_items ⇒ Object
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/montage/collection.rb', line 24
def parse_items
raw_items.map do |raw_item|
if raw_item["_meta"]
raw_item["created_at"] = raw_item["_meta"]["created"]
raw_item["updated_at"] = raw_item["_meta"]["modified"]
end
item_class.new(raw_item)
end
end
|
#singular? ⇒ Boolean
39
40
41
|
# File 'lib/montage/collection.rb', line 39
def singular?
items.length < 2
end
|