class FakeSQS::ErrorResponse

Attributes

error[R]

Public Class Methods

new(error) click to toggle source
# File lib/fake_sqs/error_response.rb, line 10
def initialize(error)
  @error = error
end

Public Instance Methods

body() click to toggle source
# File lib/fake_sqs/error_response.rb, line 18
def body
  xml = Builder::XmlMarkup.new()
  xml.ErrorResponse do
    xml.Error do
      xml.Type type
      xml.Code code
      xml.Message error.to_s
      xml.Detail
    end
    xml.RequestId SecureRandom.uuid
  end
end
status() click to toggle source
# File lib/fake_sqs/error_response.rb, line 14
def status
  @status ||= statuses.fetch(code)
end

Private Instance Methods

code() click to toggle source
# File lib/fake_sqs/error_response.rb, line 33
def code
  code = error.class.name.sub(/^FakeSQS::/, '')
  if statuses.has_key?(code)
    code
  else
    "InternalError"
  end
end
statuses() click to toggle source
# File lib/fake_sqs/error_response.rb, line 50
def statuses
  @statuses ||= YAML.load_file(File.expand_path('../error_responses.yml', __FILE__))
end
type() click to toggle source
# File lib/fake_sqs/error_response.rb, line 42
def type
  if status < 500
    "Sender"
  else
    "Receiver"
  end
end