class CorreiosSigep::Builders::XML::Request
Public Class Methods
build_xml(request, overrides={})
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 24 def self.build_xml(request, overrides={}) new(request, overrides).to_xml end
new(document, overrides={})
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 6 def initialize(document, overrides={}) @document = Nokogiri::XML(document.to_xml) config = CorreiosSigep.configuration administrative_fields!( overrides[:administrative] || config.administrative_fields ) end
Public Instance Methods
administrative_fields!(administrative_fields)
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 14 def administrative_fields!(administrative_fields) add_node 'codAdministrativo', administrative_fields.administrative_code end
to_xml()
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 18 def to_xml @document .to_xml(save_with: Nokogiri::XML::Node::SaveOptions::NO_DECLARATION) .gsub(/<(\/)?root>/, '') end
Private Instance Methods
add_node(node_name, node_content)
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 30 def add_node(node_name, node_content) @document.root.children.first.add_previous_sibling( create_node(node_name, node_content) ) end
create_node(node_name, node_content)
click to toggle source
# File lib/correios_sigep/builders/xml/request.rb, line 36 def create_node(node_name, node_content) node = Nokogiri::XML::Node.new(node_name, @document) node.content = node_content node end