Sha256: a1728c953d2e096e687358aadf2cca9c14961ddbebaffd00966f6289d4d8991f

Contents?: true

Size: 846 Bytes

Versions: 3

Compression:

Stored size: 846 Bytes

Contents

module Eaco

  ##
  # An Eaco Runtime Error.
  #
  class Error < StandardError
    # As we make use of heredoc for long error messages, squeeze subsequent
    # spaces and remove newlines.
    #
    def initialize(message)
      unless message =~ %r{EACO.+Error}
        message = message.squeeze(' ').gsub("\n", '')
      end

      super message
    end
  end

  # Raised when an Actor attempts an unauthorized access to a controller
  # action that deals with a protected Resource.
  #
  # @see Actor
  # @see Resource
  # @see Controller
  #
  class Forbidden < Error; end

  # Represents a configuration error of the Eaco framework, whether wrong
  # options or wrong usage of the DSL, or invalid storage options for the
  # ACL objects and authorized collection extraction strategy.
  #
  # @see DSL
  #
  class Malformed < Error; end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
eaco-0.6.1 lib/eaco/error.rb
eaco-0.6.0 lib/eaco/error.rb
eaco-0.5.0 lib/eaco/error.rb