module Emvoicer::Services::BlinksaleParsing
Public Instance Methods
extract_client_node(source)
click to toggle source
# File lib/emvoicer/services/blinksale/parsing.rb, line 24 def extract_client_node(source) doc = Nokogiri::XML(source) doc.xpath("//xmlns:client").first end
extract_invoice_nodes(source)
click to toggle source
# File lib/emvoicer/services/blinksale/parsing.rb, line 6 def extract_invoice_nodes(source) doc = Nokogiri::XML(source) doc.xpath("//xmlns:invoice") end
parse_client(nokogiri_element)
click to toggle source
# File lib/emvoicer/services/blinksale/parsing.rb, line 29 def parse_client(nokogiri_element) { :id => nokogiri_element.attributes["uri"].content[/\d+$/].to_i, :name => nokogiri_element.xpath('xmlns:name').first.content, :address1 => nokogiri_element.xpath("xmlns:address1").first.content, :address2 => nokogiri_element.xpath("xmlns:address2").first.content, :city => nokogiri_element.xpath("xmlns:city").first.content, :state => nokogiri_element.xpath("xmlns:state").first.content, :zip_code => nokogiri_element.xpath("xmlns:zip").first.content, :country => nokogiri_element.xpath("xmlns:country").first.content, :phone => nokogiri_element.xpath("xmlns:phone").first.content } end
parse_invoice(nokogiri_element)
click to toggle source
# File lib/emvoicer/services/blinksale/parsing.rb, line 11 def parse_invoice(nokogiri_element) { :id => nokogiri_element.attributes["uri"].content[/\d+$/].to_i, :number => nokogiri_element.xpath("xmlns:number").first.content, :total_amount => nokogiri_element.attributes["total"].content.to_f, :due_amount => nokogiri_element.attributes["total_due"].content.to_f, :issued_on => Date.strptime(nokogiri_element.xpath("xmlns:date").first.content, "%Y-%m-%d"), :due_on => Date.strptime(nokogiri_element.xpath("xmlns:terms").first.attributes["due_date"].content, "%Y-%m-%d"), :currency => nokogiri_element.xpath("xmlns:currency").first.content, :client_id => nokogiri_element.xpath("xmlns:client").first.content[/\d+$/].to_i } end