class Airbox::Array

Extend Array class for module use When Airbox returns collections of resources, give them paging methods

Attributes

opts[RW]

Store/retrieve query in opts instance variable

Public Instance Methods

all_pages() click to toggle source

Return all pages of results for current query

# File lib/airbox.rb, line 180
def all_pages
  if !self.opts || self.opts[:page] == 1 || !self.opts[:page]
    self + self.next_pages
  else
    collection = first.class.all(@opts.except(:page))
    collection + collection.next_pages
  end
end
next_page() click to toggle source

Return next page of results for current query

# File lib/airbox.rb, line 162
def next_page
  @opts ||= {}
  @opts[:page] ||= 1
  return first.class.all(@opts.merge(page: @opts[:page] + 1).dup)
end
next_pages() click to toggle source

Return all future pages of results for current query

# File lib/airbox.rb, line 169
def next_pages
  collection = []
  current = self
  while(current.count == 30)
    current = current.next_page
    collection += current
  end
  collection
end