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