Exception: Ruby::Rego::TypeError

Inherits:
Error
  • Object
show all
Defined in:
lib/ruby/rego/errors.rb

Overview

Error raised for type-checking issues.

Direct Known Subclasses

BuiltinArgumentError

Instance Attribute Summary collapse

Attributes inherited from Error

#location

Instance Method Summary collapse

Methods inherited from Error

#to_h

Constructor Details

#initialize(message, expected: nil, actual: nil, context: nil, location: nil) ⇒ TypeError

Create a type error.

Parameters:

  • message (String)

    error message

  • expected (Object, nil) (defaults to: nil)

    expected type or value

  • actual (Object, nil) (defaults to: nil)

    actual type or value

  • context (String, nil) (defaults to: nil)

    error context

  • location (Location, nil) (defaults to: nil)

    source location



155
156
157
158
159
160
161
162
# File 'lib/ruby/rego/errors.rb', line 155

def initialize(message, expected: nil, actual: nil, context: nil, location: nil)
  @expected = expected
  @actual = actual
  @context = context
  details = ErrorFormatting.format_details(expected: expected, actual: actual, context: context)
  composed = details.empty? ? message : "#{message} (#{details})"
  super(composed, location: location)
end

Instance Attribute Details

#actualObject? (readonly)

Returns:

  • (Object, nil)


143
144
145
# File 'lib/ruby/rego/errors.rb', line 143

def actual
  @actual
end

#contextString? (readonly)

Returns:

  • (String, nil)


146
147
148
# File 'lib/ruby/rego/errors.rb', line 146

def context
  @context
end

#expectedObject? (readonly)

Returns:

  • (Object, nil)


140
141
142
# File 'lib/ruby/rego/errors.rb', line 140

def expected
  @expected
end