Class: GraphQL::Language::Nodes::InputObject

Inherits:
AbstractNode show all
Defined in:
lib/graphql/language/nodes.rb

Overview

A collection of key-value inputs which may be a field argument

Instance Attribute Summary collapse

Attributes inherited from AbstractNode

#col, #filename, #line

Instance Method Summary collapse

Methods inherited from AbstractNode

#eql?, #initialize, #position, #scalars, #to_query_string

Constructor Details

This class inherits a constructor from GraphQL::Language::Nodes::AbstractNode

Instance Attribute Details

#argumentsArray<Nodes::Argument> Also known as: children

Returns A list of key-value pairs inside this input object

Returns:

  • (Array<Nodes::Argument>)

    A list of key-value pairs inside this input object



284
285
286
# File 'lib/graphql/language/nodes.rb', line 284

def arguments
  @arguments
end

Instance Method Details

#initialize_node(arguments: []) ⇒ Object



284
285
286
# File 'lib/graphql/language/nodes.rb', line 284

def initialize_node(arguments: [])
  @arguments = arguments
end

#to_h(options = {}) ⇒ Hash<String, Any>

Returns Recursively turn this input object into a Ruby Hash

Returns:

  • (Hash<String, Any>)

    Recursively turn this input object into a Ruby Hash



289
290
291
292
293
294
295
# File 'lib/graphql/language/nodes.rb', line 289

def to_h(options={})
  arguments.inject({}) do |memo, pair|
    v = pair.value
    memo[pair.name] = serialize_value_for_hash v
    memo
  end
end