Sha256: 4836ff7a377f4719f18ba729af756dd585ef76f0d95775407ec99446487fd225

Contents?: true

Size: 1.58 KB

Versions: 58

Compression:

Stored size: 1.58 KB

Contents

module ActiveResource
  class ConnectionError < StandardError # :nodoc:
    attr_reader :response

    def initialize(response, message = nil)
      @response = response
      @message  = message
    end

    def to_s
      "Failed with #{response.code} #{response.message if response.respond_to?(:message)}"
    end
  end

  # Raised when a Timeout::Error occurs.
  class TimeoutError < ConnectionError
    def initialize(message)
      @message = message
    end
    def to_s; @message ;end
  end

  # Raised when a OpenSSL::SSL::SSLError occurs.
  class SSLError < ConnectionError
    def initialize(message)
      @message = message
    end
    def to_s; @message ;end
  end

  # 3xx Redirection
  class Redirection < ConnectionError # :nodoc:
    def to_s; response['Location'] ? "#{super} => #{response['Location']}" : super; end
  end

  # 4xx Client Error
  class ClientError < ConnectionError; end # :nodoc:

  # 400 Bad Request
  class BadRequest < ClientError; end # :nodoc

  # 401 Unauthorized
  class UnauthorizedAccess < ClientError; end # :nodoc

  # 403 Forbidden
  class ForbiddenAccess < ClientError; end # :nodoc

  # 404 Not Found
  class ResourceNotFound < ClientError; end # :nodoc:

  # 409 Conflict
  class ResourceConflict < ClientError; end # :nodoc:

  # 410 Gone
  class ResourceGone < ClientError; end # :nodoc:

  # 5xx Server Error
  class ServerError < ConnectionError; end # :nodoc:

  # 405 Method Not Allowed
  class MethodNotAllowed < ClientError # :nodoc:
    def allowed_methods
      @response['Allow'].split(',').map { |verb| verb.strip.downcase.to_sym }
    end
  end
end

Version data entries

58 entries across 58 versions & 10 rubygems

Version Path
activeresource-2.3.18 lib/active_resource/exceptions.rb
activeresource_csi-2.3.5.p8 lib/active_resource/exceptions.rb
activeresource-2.3.17 lib/active_resource/exceptions.rb
activeresource_csi-2.3.5.p7 lib/active_resource/exceptions.rb
activeresource_csi-2.3.5.20130130071128 lib/active_resource/exceptions.rb
activeresource_csi-2.3.5.p6 lib/active_resource/exceptions.rb
activeresource-2.3.16 lib/active_resource/exceptions.rb
activeresource-2.3.15 lib/active_resource/exceptions.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/activeresource-2.3.14/lib/active_resource/exceptions.rb
vanity-1.7.1 vendor/ruby/1.9.1/gems/activeresource-2.3.12/lib/active_resource/exceptions.rb
activeresource-2.3.14 lib/active_resource/exceptions.rb
kajam-1.0.3.rc2 vendor/rails/activeresource/lib/active_resource/exceptions.rb
activeresource-2.3.12 lib/active_resource/exceptions.rb
radiant-1.0.0.rc2 vendor/rails/activeresource/lib/active_resource/exceptions.rb
radiant-1.0.0.rc1 vendor/rails/activeresource/lib/active_resource/exceptions.rb
webroar-0.5.0 src/admin_panel/vendor/rails/activeresource/lib/active_resource/exceptions.rb
activeresource-2.3.11 lib/active_resource/exceptions.rb
radiantcms-couchrest_model-0.2.4 vendor/rails/activeresource/lib/active_resource/exceptions.rb
radiantcms-couchrest_model-0.2.2 vendor/rails/activeresource/lib/active_resource/exceptions.rb
radiantcms-couchrest_model-0.2.1 vendor/rails/activeresource/lib/active_resource/exceptions.rb