Class: Sevendigital::ChartItemDigestor
- Defined in:
- lib/sevendigital/digestion_tract/chart_item_digestor.rb
Instance Method Summary collapse
-
#default_element_name ⇒ Object
:nodoc:.
- #default_list_element_name ⇒ Object
- #from_proxy(chart_item_proxy) ⇒ Object
- #from_xml_doc(xml_node) ⇒ Object
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_name ⇒ Object
:nodoc:
6 |
# File 'lib/sevendigital/digestion_tract/chart_item_digestor.rb', line 6 def default_element_name; :chartItem end |
#default_list_element_name ⇒ Object
7 |
# File 'lib/sevendigital/digestion_tract/chart_item_digestor.rb', line 7 def default_list_element_name; :chart end |
#from_proxy(chart_item_proxy) ⇒ Object
9 10 11 12 13 |
# File 'lib/sevendigital/digestion_tract/chart_item_digestor.rb', line 9 def from_proxy(chart_item_proxy) from_xml_string(chart_item_proxy.to_s) end |
#from_xml_doc(xml_node) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/sevendigital/digestion_tract/chart_item_digestor.rb', line 15 def from_xml_doc(xml_node) make_sure_eating_nokogiri_node(xml_node) chart_item = ChartItem.new(@client) chart_item.position = get_required_value(xml_node, "position") {|v| v.to_i} chart_item.change = get_required_value(xml_node, "change") {|v| v.downcase.to_sym} if xml_node.at_xpath("./release") then chart_item.item = get_required_node(xml_node, "release") {|v| @api_client.release_digestor.from_xml_doc(v) } elsif xml_node.at_xpath("./track") chart_item.item = get_required_node(xml_node, "track") {|v| @api_client.track_digestor.from_xml_doc(v) } else chart_item.item = get_required_node(xml_node, "artist") {|v| @api_client.artist_digestor.from_xml_doc(v) } end return chart_item end |