class RussianPost::Client

Constants

ENDPOINT
NAMESPACE

Attributes

endpoint[R]
namespace[R]
savon[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/russianpost/client.rb, line 13
def initialize(opts = {})
  @savon = Savon.client(
    endpoint:     ENDPOINT,
    namespace:    NAMESPACE,
    open_timeout: opts[:timeout] || 10, # in seconds
    log:          false)
end

Public Instance Methods

call(opts = {barcode: nil}) click to toggle source
# File lib/russianpost/client.rb, line 21
def call(opts = {barcode: nil})
  message = { 'wsdl:Barcode' => opts[:barcode], 'wsdl:MessageType' => '0' }
  response = savon.call('OperationHistoryRequest', message: message)
  result = response.to_hash[:operation_history_data][:history_record]

  result.kind_of?(Array) ? result : [result].compact
end