class Appilf::ResourcePage

Attributes

items[RW]
page_meta[RW]

Public Class Methods

new(paginated_response) click to toggle source
# File lib/appilf/resource_page.rb, line 33
def initialize(paginated_response)
  init_page_meta_data(paginated_response)
  paginated_response['data'].each do |api_element_data_hash|
    self.items << Util.translate_from_response({'data' => api_element_data_hash})
  end
end

Public Instance Methods

each(&block) click to toggle source
# File lib/appilf/resource_page.rb, line 40
def each(&block)
  self.items.each(&block)
end
next() click to toggle source
# File lib/appilf/resource_page.rb, line 21
def next
  get_page(page_links.next)
end
previous() click to toggle source
# File lib/appilf/resource_page.rb, line 25
def previous
  get_page(page_links.prev)
end

Private Instance Methods

get_page(link) click to toggle source
# File lib/appilf/resource_page.rb, line 46
def get_page(link)
  return unless link
  response = api_get(link)
  Util.translate_from_response(response)
  # set_page(response)
end
init_page_meta_data(api_element_hash) click to toggle source
# File lib/appilf/resource_page.rb, line 53
def init_page_meta_data(api_element_hash)
  self.page_meta = api_element_hash.fetch('meta', {})
  self.page_links = api_element_hash.fetch('links', {})
  self.page_meta.methodize!
  self.page_links.methodize!
end