Method: SingleObjectMemberValidation#validate_members

Defined in:
lib/json_patterns.rb

#validate_members(path, data) ⇒ Object



768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
# File 'lib/json_patterns.rb', line 768

def validate_members(path, data)
  if data.has_key? @name
    failures = @value_validation.validate(path + [@name], data[@name])
    remainder = data.dup
    remainder.delete @name
    return ObjectMembersValidationResult.new(
      failures: failures,
      remainder: remainder,
    )
  else
    found_names = data.empty? ?
      'end of object members' :
      "names: #{data.keys.map { |name| name.inspect }.join(', ')}"
    return ObjectMembersValidationResult.new(
      failures: [ValidationUnexpected.new(
        path: path,
        expected: "name: \"#@name\"",
        found: found_names,
      )],
      remainder: data,
    )
  end
end