Sha256: 553e045ce8ebbe8cdc2dc89bfc4a8d22f02153ea9ea38cb974c4d8d5303d8325
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module Correios module SRO class Tracker attr_accessor :user, :password, :query_type, :result_mode, :language attr_reader :object_numbers DEFAULT_OPTIONS = { query_type: :list, result_mode: :last, language: :pt }.freeze def initialize(options = {}) DEFAULT_OPTIONS.merge(options).each do |attr, value| self.send("#{attr}=", value) end yield self if block_given? @object_numbers = [] set_attributes_from_config! end def get(*object_numbers) @object_numbers = object_numbers.flatten response = web_service.request! objects = parser.objects(response) if @object_numbers.size == 1 objects.values.first else objects end end private def set_attributes_from_config! [:user, :password].each do |attr| self.send("#{attr}=", Correios::SRO.send(attr)) unless self.send(attr) end end def web_service @web_service ||= Correios::SRO::WebService.new(self) end def parser @parser ||= Correios::SRO::Parser.new 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/tracker.rb |