class Correios::SRO::Tracker

Constants

DEFAULT_OPTIONS

Attributes

language[RW]
object_numbers[R]
password[RW]
query_type[RW]
result_mode[RW]
user[RW]

Public Class Methods

new(options = {}) { |self| ... } click to toggle source
# File lib/correios/sro/tracker.rb, line 10
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

Public Instance Methods

get(*object_numbers) click to toggle source
# File lib/correios/sro/tracker.rb, line 21
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 Instance Methods

parser() click to toggle source
# File lib/correios/sro/tracker.rb, line 45
def parser
  @parser ||= Correios::SRO::Parser.new
end
set_attributes_from_config!() click to toggle source
# File lib/correios/sro/tracker.rb, line 35
def set_attributes_from_config!
  [:user, :password].each do |attr|
    self.send("#{attr}=", Correios::SRO.send(attr)) unless self.send(attr)
  end
end
web_service() click to toggle source
# File lib/correios/sro/tracker.rb, line 41
def web_service
  @web_service ||= Correios::SRO::WebService.new(self)
end