class HttpStub::Server::Stub::Match::Rule::JsonSchemaBody
Public Class Methods
new(schema_definition)
click to toggle source
# File lib/http_stub/server/stub/match/rule/json_schema_body.rb, line 9 def initialize(schema_definition) @schema_definition = schema_definition end
Public Instance Methods
matches?(request, logger)
click to toggle source
# File lib/http_stub/server/stub/match/rule/json_schema_body.rb, line 13 def matches?(request, logger) validate_against_schema(request).tap do |errors| errors.each { |error| logger.info(error) } end.empty? end
to_s()
click to toggle source
# File lib/http_stub/server/stub/match/rule/json_schema_body.rb, line 19 def to_s @schema_definition.to_json end
Private Instance Methods
validate_against_schema(request)
click to toggle source
# File lib/http_stub/server/stub/match/rule/json_schema_body.rb, line 25 def validate_against_schema(request) JSON::Validator.fully_validate(@schema_definition, request.body, validate_schema: true, json: true) rescue StandardError => err [ err.message ] end