class EasyJSONMatcher::Validator

Attributes

coercer[R]
key[RW]
validation_chain[R]

Public Class Methods

new(validate_with:, **args) click to toggle source
Calls superclass method
# File lib/easy_json_matcher/validator.rb, line 8
def initialize(validate_with:, **args)
  super(**args)
  @validation_chain = validate_with
end

Public Instance Methods

_post_initialise(options) click to toggle source

Hook. Allows further setup to be carried out by subclasses

# File lib/easy_json_matcher/validator.rb, line 14
def _post_initialise(options); end
valid?(candidate:) click to toggle source
# File lib/easy_json_matcher/validator.rb, line 16
def valid?(candidate:)
  errors = validate(candidate: candidate)
  errors.empty?
end
validate(candidate:) click to toggle source
# File lib/easy_json_matcher/validator.rb, line 21
def validate(candidate:)
  candidate = coercer.coerce(json: candidate)
  validation_chain.call(value: candidate)
end