class SigepWeb::XML::PostalObject

Public Class Methods

new(builder, postal_objects = []) click to toggle source
# File lib/sigep_web/xml/postal_object.rb, line 6
def initialize(builder, postal_objects = [])
  @builder = builder
  @postal_objects = postal_objects
end

Public Instance Methods

build_xml() click to toggle source
# File lib/sigep_web/xml/postal_object.rb, line 11
def build_xml
  @postal_objects.each do |postal_object|
    @builder.objeto_postal do
      build_object(postal_object)
    end
  end
end

Private Instance Methods

build_object(postal_object) click to toggle source
# File lib/sigep_web/xml/postal_object.rb, line 21
def build_object(postal_object)
  @builder.numero_etiqueta postal_object.label_number
  @builder.codigo_objeto_cliente
  @builder.codigo_servico_postagem postal_object.postage_code_service
  @builder.cubagem postal_object.cubage
  @builder.peso postal_object.weight
  @builder.rt1
  @builder.rt2

  XML::Receiver.new(@builder, postal_object.receiver).build_xml

  @builder.servico_adicional do
    @builder.codigo_servico_adicional "025"

    if postal_object.additional_service_codes
      postal_object.additional_service_codes.each do |code|
        @builder.codigo_servico_adicional code
      end
    end

    @builder.valor_declarado postal_object.additional_services_declared_value
  end

  XML::DimensionObject.new(@builder, postal_object.dimension_object).build_xml

  @builder.data_postagem_sara
  @builder.status_processamento postal_object.processing_status
  @builder.numero_comprovante_postagem
  @builder.valor_cobrado
end