class RoyalMailApi::SoapError

Constants

SOAP_FAULT_DESCRIPTIONS

Attributes

faultcode[RW]
faultstring[RW]
parser[RW]
xml[RW]

Public Class Methods

new(args) click to toggle source
Calls superclass method RoyalMailApi::Error::new
# File lib/royal_mail_api/error.rb, line 33
def initialize(args)
  super

  @xml = args[:xml]
  @code = args[:error_code]
  @parser = RoyalMailApi::XmlParser.new

  set_faultcode
  set_faultstring
  set_description
end

Private Instance Methods

set_description() click to toggle source
# File lib/royal_mail_api/error.rb, line 55
def set_description
  desc = SOAP_FAULT_DESCRIPTIONS.fetch(faultcode) { "Sorry, no further information available" }

  @description = "#{faultcode} error: #{desc}"
end
set_faultcode() click to toggle source
# File lib/royal_mail_api/error.rb, line 47
def set_faultcode
  @faultcode = parser.parse_text(xml, "faultcode")
end
set_faultstring() click to toggle source
# File lib/royal_mail_api/error.rb, line 51
def set_faultstring
  @faultstring = parser.parse_text(xml, "faultstring")
end