diff --git a/lib/json_schemer/schema.rb b/lib/json_schemer/schema.rb index ea6a5707..3487052b 100644 --- a/lib/json_schemer/schema.rb +++ b/lib/json_schemer/schema.rb @@ -231,6 +231,10 @@ def error(formatted_instance_location:, **) "instance at #{formatted_instance_location} does not match schema" end + def inspect + "#<#{self.class.name} @value=#{@value.inspect} @parent=#{@parent.inspect} @keyword=#{@keyword.inspect}>" + end + private def parse diff --git a/test/json_schemer_test.rb b/test/json_schemer_test.rb index 08795f84..91c81940 100644 --- a/test/json_schemer_test.rb +++ b/test/json_schemer_test.rb @@ -289,6 +289,12 @@ def test_draft7_additional_items_error assert_equal('array items at root do not match `additionalItems` schema', OutputHelper.as_json!(schemer.validate([1, 2])).dig('errors', 1, 'error')) end + def test_inspect + output = JSONSchemer.openapi31_document.inspect + assert_includes(output, 'JSONSchemer::Schema') + assert_includes(output, '@value=') + end + def test_it_allows_validating_schemas valid_draft7_schema = { '$ref' => '#/definitions/~1some~1%7Bid%7D' } invalid_draft7_schema = { '$ref' => '#/definitions/~1some~1{id}' }