Class: GraphQL::Execution::Interpreter::Arguments

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/graphql/execution/interpreter/arguments.rb

Overview

A wrapper for argument hashes in GraphQL queries.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(keyword_arguments:, argument_values:) ⇒ Arguments

Returns a new instance of Arguments.



18
19
20
21
# File 'lib/graphql/execution/interpreter/arguments.rb', line 18

def initialize(keyword_arguments:, argument_values:)
  @keyword_arguments = keyword_arguments
  @argument_values = argument_values
end

Instance Attribute Details

#argument_valuesHash{Symbol => ArgumentValue} (readonly)

Returns:



29
30
31
# File 'lib/graphql/execution/interpreter/arguments.rb', line 29

def argument_values
  @argument_values
end

#keyword_argumentsHash<Symbol, Object> (readonly)

The Ruby-style arguments hash, ready for a resolver. This hash is the one used at runtime.

Returns:

  • (Hash<Symbol, Object>)


16
17
18
# File 'lib/graphql/execution/interpreter/arguments.rb', line 16

def keyword_arguments
  @keyword_arguments
end

Instance Method Details

#each_valueObject

Yields ArgumentValue instances which contain detailed metadata about each argument.



24
25
26
# File 'lib/graphql/execution/interpreter/arguments.rb', line 24

def each_value
  argument_values.each { |arg_v| yield(arg_v) }
end

#inspectObject



33
34
35
# File 'lib/graphql/execution/interpreter/arguments.rb', line 33

def inspect
  "#<#{self.class} @keyword_arguments=#{keyword_arguments.inspect}>"
end