class Objecheck::Validator::EachRule
EachRule
validates elements in the target by using each
Public Class Methods
new(validator, element_schema)
click to toggle source
# File lib/objecheck/validator/each_rule.rb, line 20 def initialize(validator, element_schema) @element_rules = validator.compile_schema(element_schema) end
schema()
click to toggle source
# File lib/objecheck/validator/each_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_rule.rb, line 24 def validate(target, collector) if !target.respond_to?(:each) collector.add_error('should respond to `each`') return end target.each.with_index do |elem, i| collector.add_prefix_in("[#{i}]") do collector.validate(elem, @element_rules) end end end