class GraphQL::StaticValidation::VariableNamesAreUnique

def validate(context)

def validate(context)
  context.visitor[GraphQL::Language::Nodes::OperationDefinition] << ->(node, parent) {
    var_defns = node.variables
    if var_defns.any?
      vars_by_name = Hash.new { |h, k| h[k] = [] }
      var_defns.each { |v| vars_by_name[v.name] << v }
      vars_by_name.each do |name, defns|
        if defns.size > 1
          context.errors << message("There can only be one variable named \"#{name}\"", defns, context: context)
        end
      end
    end
  }
end