Class: Braque::Collection::LinkedArray

Inherits:
Array
  • Object
show all
Defined in:
lib/braque/collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response = [], klass) ⇒ LinkedArray

Returns a new instance of LinkedArray.



8
9
10
11
12
13
# File 'lib/braque/collection.rb', line 8

def initialize(response = [], klass)
  @next_link = response._links.try(:next)
  @previous_link = response._links.try(:prev)
  @total_count = response.try(:total_count)
  super build_retrieved_items(response, klass)
end

Instance Attribute Details

Returns the value of attribute next_link.



4
5
6
# File 'lib/braque/collection.rb', line 4

def next_link
  @next_link
end

Returns the value of attribute previous_link.



5
6
7
# File 'lib/braque/collection.rb', line 5

def previous_link
  @previous_link
end

#total_countObject (readonly)

Returns the value of attribute total_count.



6
7
8
# File 'lib/braque/collection.rb', line 6

def total_count
  @total_count
end

Instance Method Details

#build_retrieved_items(response, klass) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/braque/collection.rb', line 15

def build_retrieved_items(response, klass)
  retrieved_items = []
  response_collection(response, klass).each do |item|
    retrieved_items << klass.new(item)
  end
  retrieved_items
end

#response_collection(response, klass) ⇒ Object



23
24
25
26
# File 'lib/braque/collection.rb', line 23

def response_collection(response, klass)
  return response unless response.respond_to? :_embedded
  response._embedded.send klass.collection_method_name
end