Module AWS::Core::LazyErrorClasses
In: lib/aws/core/lazy_error_classes.rb

Provides lazy creation of error classes via {const_missing}.

Extend this module provides 3 benefits to another module:

  • A method that accepts strings and returns error classes.
  • Thread-safe dynamic error class creation via {const_missing}
  • An error grammar for parsing AWS xml errors

Here is an example of how it works:

    Class Foo
      module Errors
        extend AWS::Core::LazyErrorClasses
      end
    end

    Foo::Errors.error_class('NoSuchKey')
    #=> Foo::Errors::NoSuckKey

    Foo::Errors.error_class('Nested.Error.Klasses')
    #=> Foo::Errors::Nested::Error::Klasses

The errors returned from {error_class} are subclasses of {AWS::Errors::Base}.

Constants

BASE_ERROR_GRAMMAR = XML::Grammar.customize do element("Error") do ignore   This grammar parses the defualt AWS XML error format

[Validate]