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