Class: GraphQL::Language::Nodes::Field

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

Overview

A single selection in a GraphQL query.

Constant Summary

Constants inherited from AbstractNode

AbstractNode::NO_CHILDREN

Instance Attribute Summary collapse

Attributes inherited from AbstractNode

#col, #filename, #line

Instance Method Summary collapse

Methods inherited from AbstractNode

#children, #delete_child, #eql?, inherited, #initialize, #initialize_copy, #merge, #position, #replace_child, #scalars, #to_query_string, #visit_method

Constructor Details

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

Instance Attribute Details

#selectionsArray<Nodes::Field>

Returns Selections on this object (or empty array if this is a scalar field)

Returns:

  • (Array<Nodes::Field>)

    Selections on this object (or empty array if this is a scalar field)



353
354
355
356
357
358
359
360
# File 'lib/graphql/language/nodes.rb', line 353

def initialize_node(name: nil, arguments: [], directives: [], selections: [], **kwargs)
  @name = name
  @arguments = arguments
  @directives = directives
  @selections = selections
  # oops, alias is a keyword:
  @alias = kwargs.fetch(:alias, nil)
end

Instance Method Details

#children_method_nameObject

Override this because default is :fields



363
364
365
# File 'lib/graphql/language/nodes.rb', line 363

def children_method_name
  :selections
end

#initialize_node(name: nil, arguments: [], directives: [], selections: [], **kwargs) ⇒ Object



353
354
355
356
357
358
359
360
# File 'lib/graphql/language/nodes.rb', line 353

def initialize_node(name: nil, arguments: [], directives: [], selections: [], **kwargs)
  @name = name
  @arguments = arguments
  @directives = directives
  @selections = selections
  # oops, alias is a keyword:
  @alias = kwargs.fetch(:alias, nil)
end