Module: Fog::AWS::Errors

Defined in:
lib/fog/aws/core.rb

Class Method Summary collapse

Class Method Details

.match_error(error) ⇒ Object



333
334
335
336
337
338
339
340
# File 'lib/fog/aws/core.rb', line 333

def self.match_error(error)
  matcher = lambda {|s| s.match(/(?:.*<Code>(.*)<\/Code>)(?:.*<Message>(.*)<\/Message>)/m)}
  [error.message, error.response.body].each(&Proc.new {|s|
    match = matcher.call(s)
    return {:code => match[1].split('.').last, :message => match[2]} if match
  })
  {} # we did not match the message or response body
end