class JsonValidation::Validators::Dependencies
Public Instance Methods
inner_validators()
click to toggle source
# File lib/json_validation/validators/dependencies.rb, line 29 def inner_validators @inner_validators ||= Hash[fragment['dependencies'].map {|k, f| [k, build_validator(f)] }] end
validate(record)
click to toggle source
# File lib/json_validation/validators/dependencies.rb, line 6 def validate(record) fragment['dependencies'].all? {|property, v| case v when Hash dependency_fragment = v if record.has_key?(property) inner_validators[property].validate(record) else true end when Array property_set = v if record.has_key?(property) property_set.all? {|p| record.has_key?(p)} else true end else raise "Unexpected type for fragment['dependencies']['#{property}']" end } end