class EbayClient::Response

Attributes

ack[R]
build[R]
correlation_id[R]
errors[R]
payload[R]
timestamp[R]
version[R]

Public Class Methods

new(values) click to toggle source
# File lib/ebay_client/response.rb, line 64
def initialize(values)
  @ack = values.delete :ack
  @build = values.delete :build
  @version = values.delete :version
  @errors = get_errors values.delete(:errors) || []
  @correlation_id = values.delete :correlation_id
  values.delete :'@xmlns'
  @timestamp = values[:timestamp]
  @payload = values
end

Public Instance Methods

failure?() click to toggle source
# File lib/ebay_client/response.rb, line 79
def failure?
  ack == 'Failure'
end
raise_failure() click to toggle source
# File lib/ebay_client/response.rb, line 87
def raise_failure
  raise exception
end
success?() click to toggle source
# File lib/ebay_client/response.rb, line 75
def success?
  ack == 'Success'
end
warning?() click to toggle source
# File lib/ebay_client/response.rb, line 83
def warning?
  ack == 'Warning'
end

Protected Instance Methods

exception() click to toggle source
# File lib/ebay_client/response.rb, line 92
def exception
  @exception ||= errors.first && EbayClient::Response::Error.for_code(errors.first.code).tap { |e| e.error = errors.first }
end
get_errors(values) click to toggle source
# File lib/ebay_client/response.rb, line 96
def get_errors(values)
  values = [values] if values.is_a? Hash

  values.map do |vals|
    Error.new(vals)
  end
end