Sha256: a5c4132427ab5ebe6c6da428e3949fb62428ba110eaa44ff0815aa0aa8805621

Contents?: true

Size: 826 Bytes

Versions: 8

Compression:

Stored size: 826 Bytes

Contents

# frozen_string_literal: true

class Valvat
  Error = Class.new(RuntimeError)

  class LookupError < Error
    def initialize(message, kind)
      @message = message.to_s
      @kind = kind.is_a?(Class) ? kind.name.split('::').last : kind.to_s
      super(@message)
    end

    def to_s
      "The #{@kind} web service returned the error: #{@message}"
    end

    def eql?(other)
      to_s.eql?(other.to_s)
    end
  end
  MaintenanceError = Class.new(LookupError)

  ServiceUnavailable = Class.new(MaintenanceError)
  MemberStateUnavailable = Class.new(MaintenanceError)

  Timeout = Class.new(LookupError)
  InvalidRequester = Class.new(LookupError)
  BlockedError = Class.new(LookupError)
  RateLimitError = Class.new(LookupError)

  UnknownLookupError = Class.new(LookupError)

  HTTPError = Class.new(LookupError)
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
valvat-1.4.4 lib/valvat/error.rb
valvat-1.4.3 lib/valvat/error.rb
valvat-1.4.2 lib/valvat/error.rb
valvat-1.4.1 lib/valvat/error.rb
valvat-1.4.0 lib/valvat/error.rb
valvat-1.3.0 lib/valvat/error.rb
valvat-1.2.1 lib/valvat/error.rb
valvat-1.2.0 lib/valvat/error.rb