class JsonValidation::Validators::PatternProperties
Public Instance Methods
inner_validators()
click to toggle source
# File lib/json_validation/validators/pattern_properties.rb, line 15 def inner_validators @inner_validators ||= Hash[fragment['patternProperties'].map {|pattern, f| [pattern, build_validator(f)] }] end
validate(record)
click to toggle source
# File lib/json_validation/validators/pattern_properties.rb, line 6 def validate(record) fragment['patternProperties'].keys.all? {|pattern| rx = Regexp.new(pattern) record.select {|k, v| rx.match(k)}.all? {|k, v| inner_validators[pattern].validate(v) } } end