Class: Sevendigital::PagerDigestor

Inherits:
Digestor
  • Object
show all
Defined in:
lib/sevendigital/digestion_tract/pager_digestor.rb

Instance Method Summary collapse

Methods inherited from Digestor

#content_present?, #from_xml_string, #get_optional_attribute, #get_optional_node, #get_optional_value, #get_required_attribute, #get_required_node, #get_required_value, #initialize, #list_from_xml_doc, #list_from_xml_string, #make_sure_eating_nokogiri_node, #nested_list_from_xml_doc, #nested_list_from_xml_string, #paginate_results, #value_present?

Constructor Details

This class inherits a constructor from Sevendigital::Digestor

Instance Method Details

#default_element_nameObject

:nodoc:



6
# File 'lib/sevendigital/digestion_tract/pager_digestor.rb', line 6

def default_element_name; :results end

#default_list_element_nameObject



7
# File 'lib/sevendigital/digestion_tract/pager_digestor.rb', line 7

def default_list_element_name; nil end

#from_xml_doc(xml_node) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sevendigital/digestion_tract/pager_digestor.rb', line 9

def from_xml_doc(xml_node)
  make_sure_eating_nokogiri_node(xml_node)

  return nil unless paging_info_available?(xml_node)

  pager = Pager.new

  pager.page = get_required_value(xml_node,"page").to_i
  pager.page_size = get_required_value(xml_node,"pageSize").to_i
  pager.total_items = get_required_value(xml_node,"totalItems").to_i

  pager
end

#paging_info_available?(xml_doc) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/sevendigital/digestion_tract/pager_digestor.rb', line 23

def paging_info_available?(xml_doc)
  xml_doc.at_xpath("./page") && xml_doc.at_xpath("./pageSize") && xml_doc.at_xpath("./totalItems")
end