Sha256: edc75d1b536a344292c40136f6a2d0c2e17724e4d77518556de333d7db1913ea

Contents?: true

Size: 651 Bytes

Versions: 5

Compression:

Stored size: 651 Bytes

Contents

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
graphql-0.7.1 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb
graphql-0.7.0 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb
graphql-0.6.2 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb
graphql-0.6.1 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb
graphql-0.6.0 lib/graphql/static_validation/rules/argument_literals_are_compatible.rb