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



282
283
284
# File 'lib/graphql/language/nodes.rb', line 282

def arguments
  @arguments
end

Instance Method Details

#initialize_node(arguments: []) ⇒ Object



282
283
284
# File 'lib/graphql/language/nodes.rb', line 282

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



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

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