module GraphQL::StaticValidation::InputObjectNamesAreUnique
Public Instance Methods
on_input_object(node, parent)
click to toggle source
Calls superclass method
# File lib/graphql/static_validation/rules/input_object_names_are_unique.rb, line 5 def on_input_object(node, parent) validate_input_fields(node) super end
Private Instance Methods
validate_input_fields(node)
click to toggle source
# File lib/graphql/static_validation/rules/input_object_names_are_unique.rb, line 12 def validate_input_fields(node) input_field_defns = node.arguments input_fields_by_name = Hash.new { |h, k| h[k] = [] } input_field_defns.each { |a| input_fields_by_name[a.name] << a } input_fields_by_name.each do |name, defns| if defns.size > 1 error = GraphQL::StaticValidation::InputObjectNamesAreUniqueError.new( "There can be only one input field named \"#{name}\"", nodes: defns, name: name ) add_error(error) end end end