Sha256: 4791201d5ac0c756076252ffbc05285d2fbd3f9bc67d420123586f9048e3adc9

Contents?: true

Size: 701 Bytes

Versions: 1

Compression:

Stored size: 701 Bytes

Contents

class GraphQL::StaticValidation::ArgumentLiteralsAreCompatible < GraphQL::StaticValidation::ArgumentsValidator
  def validate_node(parent, node, defn, context)
    return if node.value.is_a?(GraphQL::Language::Nodes::VariableIdentifier)
    validator = GraphQL::StaticValidation::LiteralValidator.new
    arg_defn = defn.arguments[node.name]
    valid = validator.validate(node.value, arg_defn.type)
    if !valid
      field_name = if parent.respond_to?(:alias)
        parent.alias || parent.name
      else
        parent.name
      end
      context.errors << message("Argument #{node.name} on #{parent.class.name.split("::").last} '#{field_name}' has an invalid value", parent)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
graphql-0.10.4 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb