class RSchema::Error

Contains info about how a schema failed validation

Attributes

schema[R]
symbolic_name[R]
value[R]
vars[R]

Public Class Methods

new(schema:, value:, symbolic_name:, vars: {}) click to toggle source
# File lib/rschema/error.rb, line 10
def initialize(schema:, value:, symbolic_name:, vars: {})
  raise ArgumentError.new('vars must be a hash') unless vars.is_a?(Hash)

  @schema = schema
  @value = value
  @symbolic_name = symbolic_name
  @vars = vars

  freeze
end

Public Instance Methods

inspect() click to toggle source
# File lib/rschema/error.rb, line 25
def inspect
  attrs = vars.merge(value: value)
              .map { |k, v| "#{k}=#{v.inspect}" }
              .join(' ')

  "<#{self.class} #{self} #{attrs}>"
end
to_s() click to toggle source
# File lib/rschema/error.rb, line 21
def to_s
  "#{schema.class}/#{symbolic_name}"
end