Sha256: 7cac894c398b9e06464f0ed360d78df1f6a66669509eebde861d292132f9d629
Contents?: true
Size: 1.6 KB
Versions: 1
Compression:
Stored size: 1.6 KB
Contents
module Correios module SRO class RequestBuilder QUERY_TYPES = { list: "L", range: "F" }.freeze RESULT_MODES = { all: "T", last: "U" }.freeze LANGUAGE = { pt: "101", en: "102" }.freeze NAMESPACES = { "xmlns:soapenv" => "http://schemas.xmlsoap.org/soap/envelope/", "xmlns:res" => "http://resource.webservice.correios.com.br/" }.freeze def initialize(tracker) @tracker = tracker end def build_xml Nokogiri::XML::Builder.new do |builder| builder[:soapenv].Envelope(NAMESPACES) { builder[:soapenv].Header { } builder[:soapenv].Body { builder[:res].buscaEventosLista() { builder.usuario(@tracker.user) { builder.parent.namespace = nil } builder.senha(@tracker.password) { builder.parent.namespace = nil } builder.tipo(QUERY_TYPES[@tracker.query_type]) { builder.parent.namespace = nil } builder.resultado(RESULT_MODES[@tracker.result_mode]) { builder.parent.namespace = nil } builder.lingua(LANGUAGE[@tracker.language]) { builder.parent.namespace = nil } @tracker.object_numbers.each do |object_number| builder.objetos(object_number) { builder.parent.namespace = nil } end } } } end.to_xml end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
correios-sro-xml-0.4.0 | lib/correios/sro/request_builder.rb |