Skip to content

Commit

Permalink
nokogiri patch finished and working
Browse files Browse the repository at this point in the history
  • Loading branch information
Piotr Szmielew committed May 22, 2012
1 parent 06cd61f commit 57b5a28
Show file tree
Hide file tree
Showing 9 changed files with 12 additions and 11 deletions.
1 change: 1 addition & 0 deletions Gemfile.lock
Expand Up @@ -23,6 +23,7 @@ GEM
metaclass (~> 0.0.1)
multi_json (1.3.5)
nokogiri (1.5.2)
nokogiri (1.5.2-java)
pry (0.9.9.6)
coderay (~> 1.0.5)
method_source (~> 0.7.1)
Expand Down
2 changes: 1 addition & 1 deletion lib/elibri_onix/nokogiri_patch.rb
Expand Up @@ -6,7 +6,7 @@ class Node
def xpath *paths
unless Nokogiri.uses_libxml?
paths.each do |path|
path.gsub!(/xmlns:/, ' :')
path.gsub!(/xmlns:/, ' :') if path.is_a?(String)
end
end
orig_xpath *paths
Expand Down
2 changes: 1 addition & 1 deletion lib/elibri_onix/onix_3_0/collection.rb
Expand Up @@ -19,7 +19,7 @@ def initialize(data)
@to_xml = data.to_s
@type = data.at_xpath('xmlns:CollectionType').try(:text)
@elements = data.xpath('xmlns:TitleElement').map { |element_data| TitleElement.new(element_data) }
@title_detail = TitleDetail.new(data.at_xpath('xmlns:TitleDetail'))
@title_detail = TitleDetail.new(data.at_xpath('xmlns:TitleDetail')) if data.at_xpath('xmlns:TitleDetail')
end

def full_title
Expand Down
4 changes: 2 additions & 2 deletions lib/elibri_onix/onix_3_0/header.rb
Expand Up @@ -16,8 +16,8 @@ class Header

def initialize(data)
@to_xml = data.to_s
@sent_date_time = Date.parse(data.xpath('xmlns:SentDateTime').text)
@sender = Sender.new(data.at_xpath('xmlns:Sender'))
@sent_date_time = Date.parse(data.xpath('xmlns:SentDateTime').try(:text)) if data.xpath('xmlns:SentDateTime')
@sender = Sender.new(data.at_xpath('xmlns:Sender')) if data.at_xpath('xmlns:Sender')
end

end
Expand Down
4 changes: 2 additions & 2 deletions lib/elibri_onix/onix_3_0/onix_message.rb
Expand Up @@ -21,10 +21,10 @@ def self.from_xml(data, *initialization_args)

def initialize(data, *initialization_args)
@to_xml = data.to_s
xml = Nokogiri::XML(data)
xml = Nokogiri::XML(data) unless xml.is_a?(Nokogiri::XML::Document)
onix_message = xml.children.first
@release = onix_message['release']
@elibri_dialect = onix_message.at_xpath('elibri:Dialect').text
@elibri_dialect = onix_message.at_xpath('elibri:Dialect').try(:text)
@header = Header.new(onix_message.at_xpath('xmlns:Header')) if onix_message.at_xpath('xmlns:Header')
@products = onix_message.xpath('xmlns:Product').map { |product_node| Product.new(product_node) }
end
Expand Down
2 changes: 1 addition & 1 deletion lib/elibri_onix/onix_3_0/price.rb
Expand Up @@ -28,7 +28,7 @@ def initialize(data)
@position_on_product = data.at_xpath('xmlns:PositionOnProduct').try(:text).try(:to_i)
if data.at_xpath('xmlns:Tax')
@tax_type = data.at_xpath('xmlns:Tax').at_xpath('xmlns:TaxType').try(:text).try(:to_i)
@tax_rate_percent = BigDecimal.new(data.at_xpath('xmlns:Tax').at_xpath('xmlns:TaxRatePercent').try(:text))
@tax_rate_percent = BigDecimal.new(data.at_xpath('xmlns:Tax').at_xpath('xmlns:TaxRatePercent').try(:text)) if data.at_xpath('xmlns:Tax').at_xpath('xmlns:TaxRatePercent')
end
end

Expand Down
2 changes: 1 addition & 1 deletion lib/elibri_onix/onix_3_0/sales_restriction.rb
Expand Up @@ -21,7 +21,7 @@ def initialize(data)
if data.at_xpath('xmlns:SalesOutlet')
@outlet_name = data.at_xpath('xmlns:SalesOutlet').at_xpath('xmlns:SalesOutletName').try(:text)
end
@end_date = Date.parse(data.at_xpath('xmlns:EndDate').try(:text))
@end_date = Date.parse(data.at_xpath('xmlns:EndDate').try(:text)) if data.at_xpath('xmlns:EndDate')
end

end
Expand Down
4 changes: 2 additions & 2 deletions lib/elibri_onix/onix_3_0/supply_detail.rb
Expand Up @@ -18,10 +18,10 @@ class SupplyDetail
def initialize(data)
@to_xml = data.to_s
@relation_code = data.at_xpath('xmlns:ProductRelationCode').try(:text).try(:to_i)
@supplier = Supplier.new(data.at_xpath('xmlns:Supplier'))
@supplier = Supplier.new(data.at_xpath('xmlns:Supplier')) if data.at_xpath('xmlns:Supplier')
@product_availability = data.at_xpath('xmlns:ProductAvailability').try(:text).try(:to_i)
@pack_quantity = data.at_xpath('xmlns:PackQuantity').try(:text).try(:to_i)
@price = Price.new(data.at_xpath('xmlns:Price'))
@price = Price.new(data.at_xpath('xmlns:Price')) if data.at_xpath('xmlns:Price')
if data.at_xpath('xmlns:Stock')
@on_hand = data.at_xpath('xmlns:Stock').at_xpath('xmlns:OnHand').try(:text).try(:to_i)
@quantity_coded = StockQuantityCoded.new(data.at_xpath('xmlns:Stock').at_xpath('xmlns:StockQuantityCoded')) if data.at_xpath('xmlns:Stock').at_xpath('xmlns:StockQuantityCoded')
Expand Down
2 changes: 1 addition & 1 deletion lib/elibri_onix/onix_3_0/text_content.rb
Expand Up @@ -24,8 +24,8 @@ def initialize(data)
@source_title = data.at_xpath('xmlns:SourceTitle').try(:text)
if data.at_xpath('xmlns:Text')
@text = data.at_xpath('xmlns:Text').children.find { |x| x.cdata? }.try(:text) #cdata => true ?
@source_url = data.at_xpath('xmlns:Text').attribute('sourcename').try(:text)
end
@source_url = data.at_xpath('xmlns:Text').attribute('sourcename').try(:text)
set_eid(data)
set_datestamp(data)
end
Expand Down

0 comments on commit 57b5a28

Please sign in to comment.