class OpenSRS::XmlProcessor::Nokogiri
Public Class Methods
build(data)
click to toggle source
# File lib/opensrs/xml_processor/nokogiri.rb, line 11 def self.build(data) builder = ::Nokogiri::XML::Builder.new envelope = ::Nokogiri::XML::Node.new("OPS_envelope", builder.doc) header = ::Nokogiri::XML::Node.new("header", builder.doc) version = ::Nokogiri::XML::Node.new("version", builder.doc) body = ::Nokogiri::XML::Node.new("body", builder.doc) data_block = ::Nokogiri::XML::Node.new("data_block", builder.doc) other_data = encode_data(data, builder.doc) builder.doc << envelope << header << version << '0.9' envelope << body << data_block << other_data return builder.to_xml end
Protected Class Methods
data_block_element(response)
click to toggle source
# File lib/opensrs/xml_processor/nokogiri.rb, line 27 def self.data_block_element(response) doc = ::Nokogiri::XML(response) return doc.xpath('//OPS_envelope/body/data_block/*') end
decode_dt_array_data(element)
click to toggle source
# File lib/opensrs/xml_processor/nokogiri.rb, line 32 def self.decode_dt_array_data(element) dt_array = [] element.children.each do |item| next if item.content.strip.empty? dt_array[item.attributes["key"].value.to_i] = decode_data(item.children) end return dt_array end
decode_dt_assoc_data(element)
click to toggle source
# File lib/opensrs/xml_processor/nokogiri.rb, line 43 def self.decode_dt_assoc_data(element) dt_assoc = {} element.children.each do |item| next if item.content.strip.empty? dt_assoc[item.attributes["key"].value] = decode_data(item.children) end return dt_assoc end
new_element(element_name, container)
click to toggle source
# File lib/opensrs/xml_processor/nokogiri.rb, line 54 def self.new_element(element_name, container) return ::Nokogiri::XML::Node.new(element_name.to_s, container) end