class GraphQL::StaticValidation::ArgumentsAreDefined

Public Instance Methods

validate_node(parent, node, defn, context) click to toggle source
# File lib/graphql/static_validation/rules/arguments_are_defined.rb, line 4
def validate_node(parent, node, defn, context)
  argument_defn = context.warden.arguments(defn).find { |arg| arg.name == node.name }
  if argument_defn.nil?
    kind_of_node = node_type(parent)
    error_arg_name = parent_name(parent, defn)
    context.errors << message("#{kind_of_node} '#{error_arg_name}' doesn't accept argument '#{node.name}'", node, context: context)
    GraphQL::Language::Visitor::SKIP
  else
    nil
  end
end