Class: CorreiosSigep::Builders::XML::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/correios_sigep/builders/xml/request.rb

Direct Known Subclasses

RequestCollectNumber, RequestSRO

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(document, overrides = {}) ⇒ Request

Returns a new instance of Request.



6
7
8
9
10
11
12
# 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

Class Method Details

.build_xml(request, overrides = {}) ⇒ Object



24
25
26
# File 'lib/correios_sigep/builders/xml/request.rb', line 24

def self.build_xml(request, overrides={})
  new(request, overrides).to_xml
end

Instance Method Details

#administrative_fields!(administrative_fields) ⇒ Object



14
15
16
# File 'lib/correios_sigep/builders/xml/request.rb', line 14

def administrative_fields!(administrative_fields)
  add_node 'codAdministrativo', administrative_fields.administrative_code
end

#to_xmlObject



18
19
20
21
22
# 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