Class: Restify::Collection
- Inherits:
-
Object
- Object
- Restify::Collection
- Includes:
- Relations
- Defined in:
- lib/restify/collection.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#[](index) ⇒ Object
Retrieve value for given index.
-
#each ⇒ Object
Iterate over all items or return enumerator.
-
#first ⇒ Resource, ...
Return first item of collection.
-
#initialize(client, relations = {}, items = []) ⇒ Collection
constructor
A new instance of Collection.
-
#items ⇒ Array
Return parsed resource attributes as hash.
-
#size ⇒ Integer
Return size of collection.
Methods included from Relations
Constructor Details
#initialize(client, relations = {}, items = []) ⇒ Collection
Returns a new instance of Collection.
54 55 56 57 58 |
# File 'lib/restify/collection.rb', line 54 def initialize(client, relations = {}, items = []) @client = client @relations = HashWithIndifferentAccess.new relations @items = Array items end |
Class Method Details
.create(client, data, response) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/restify/collection.rb', line 61 def create(client, data, response) data = data.map do |value| case value when Hash Resource.create client, value, nil when Array create client, value, nil else value end end relations = response ? response.relations(client) : nil new client, relations, data end |
Instance Method Details
#[](index) ⇒ Object
Retrieve value for given index.
12 |
# File 'lib/restify/collection.rb', line 12 delegate :[], to: :items |
#each {|item| ... } ⇒ Object #each ⇒ Enumerator
Iterate over all items or return enumerator.
44 |
# File 'lib/restify/collection.rb', line 44 delegate :each, to: :items |
#first ⇒ Resource, ...
Return first item of collection.
27 |
# File 'lib/restify/collection.rb', line 27 delegate :first, to: :items |
#items ⇒ Array
Return parsed resource attributes as hash.
50 51 52 |
# File 'lib/restify/collection.rb', line 50 def items @items ||= [] end |
#size ⇒ Integer
Return size of collection. Only includes size of current page in paginated resources.
20 |
# File 'lib/restify/collection.rb', line 20 delegate :size, to: :items |