module RBS::Test::Errors
Constants
- ArgumentError
- ArgumentTypeError
- BlockArgumentError
- BlockArgumentTypeError
- BlockReturnTypeError
- MissingBlockError
- RESPOND_TO
- ReturnTypeError
- UnexpectedBlockError
- UnresolvedOverloadingError
Public Class Methods
Source
# File bundled-src/rbs-3.10.0/lib/rbs/test/errors.rb, line 24 def self.format_param(param) if param.name "`#{param.type}` (#{param.name})" else "`#{param.type}`" end end
Source
# File bundled-src/rbs-3.10.0/lib/rbs/test/errors.rb, line 35 def self.inspect_(obj) if RESPOND_TO.bind_call(obj, :inspect) obj.inspect else Test::INSPECT.bind(obj).call # For the case inspect is not defined (like BasicObject) end end
Source
# File bundled-src/rbs-3.10.0/lib/rbs/test/errors.rb, line 43 def self.method_tag(error) if error.klass.singleton_class? name = inspect_(error.klass).sub(/\A#<Class:(.*)>\z/, '\1') method_name = ".#{error.method_name}" else name = error.klass.name method_name = "##{error.method_name}" end "[#{name}#{method_name}]" end
Source
# File bundled-src/rbs-3.10.0/lib/rbs/test/errors.rb, line 54 def self.to_string(error) case error when ArgumentTypeError "#{method_tag(error)} ArgumentTypeError: expected #{format_param error.param} but given `#{inspect_(error.value)}`" when BlockArgumentTypeError "#{method_tag(error)} BlockArgumentTypeError: expected #{format_param error.param} but given `#{inspect_(error.value)}`" when ArgumentError "#{method_tag(error)} ArgumentError: expected method type #{error.method_type}" when BlockArgumentError "#{method_tag(error)} BlockArgumentError: expected method type #{error.method_type}" when ReturnTypeError "#{method_tag(error)} ReturnTypeError: expected `#{error.type}` but returns `#{inspect_(error.value)}`" when BlockReturnTypeError "#{method_tag(error)} BlockReturnTypeError: expected `#{error.type}` but returns `#{inspect_(error.value)}`" when UnexpectedBlockError "#{method_tag(error)} UnexpectedBlockError: unexpected block is given for `#{error.method_type}`" when MissingBlockError "#{method_tag(error)} MissingBlockError: required block is missing for `#{error.method_type}`" when UnresolvedOverloadingError "#{method_tag(error)} UnresolvedOverloadingError: couldn't find a suitable overloading" else raise "Unexpected error: #{inspect_(error)}" end end