Sha256: 15094e2d6b82ae04cfe958c97bf85ba3d661ea86c89969741252fb99b092fd21

Contents?: true

Size: 474 Bytes

Versions: 5

Compression:

Stored size: 474 Bytes

Contents

# frozen_string_literal: true

module Kind
  class Error < TypeError
    UNDEFINED_OBJECT = Object.new

    private_constant :UNDEFINED_OBJECT

    def initialize(arg, object = UNDEFINED_OBJECT)
      if UNDEFINED_OBJECT == object
        # Will be used when the exception was raised with a message. e.g:
        # raise Kind::Error, "some message"
        super(arg)
      else
        super("#{object.inspect} expected to be a kind of #{arg}")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kind-3.1.0 lib/kind/error.rb
kind-3.0.1 lib/kind/error.rb
kind-3.0.0 lib/kind/error.rb
kind-2.3.0 lib/kind/error.rb
kind-2.2.0 lib/kind/error.rb