class Patentscope::WebserviceSoapBuilder

Public Instance Methods

build_envelope(operation, options_hash) click to toggle source
# File lib/patentscope/webservice_soap_builder.rb, line 5
def build_envelope(operation, options_hash)
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.Envelope do
      ns = xml.doc.root.add_namespace_definition('S', 'http://schemas.xmlsoap.org/soap/envelope/')
      xml.doc.root.namespace = ns
      xml.Body do
        xml.send(operation, :'xmlns' => 'http://www.wipo.org/wsdl/ps') do
          options_hash.each do |key, value|
            xml.send(key, value)
          end
        end
      end
    end
  end.to_xml
end