class Objecheck::Validator::EachValueRule
EachValueRule
validates values in the target by using each_pair
Public Class Methods
new(validator, value_schema)
click to toggle source
# File lib/objecheck/validator/each_value_rule.rb, line 20 def initialize(validator, value_schema) @value_rules = validator.compile_schema(value_schema) end
schema()
click to toggle source
# File lib/objecheck/validator/each_value_rule.rb, line 37 def self.schema [{ type: Hash }] end
Public Instance Methods
validate(target, collector)
click to toggle source
# File lib/objecheck/validator/each_value_rule.rb, line 24 def validate(target, collector) if !target.respond_to?(:each_pair) collector.add_error('should respond to `each_pair`') return end target.each_pair do |key, value| collector.add_prefix_in("[#{key.inspect}]") do collector.validate(value, @value_rules) end end end