Class: TinyGQL::Nodes::FieldDefinition

Inherits:
Node
  • Object
show all
Defined in:
lib/tinygql/nodes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Node

#argument?, #boolean_value?, #directive?, #directive_definition?, #document?, #each, #enum_type_definition?, #enum_value?, #enum_value_definition?, #executable_directive_location?, #field?, #float_value?, #fragment_definition?, #fragment_spread?, #inline_fragment?, #input_object_type_definition?, #input_value_definition?, #int_value?, #interface_type_definition?, #list_type?, #list_value?, #named_type?, #not_null_type?, #null_value?, #object_field?, #object_type_definition?, #object_type_extension?, #object_value?, #operation_definition?, #root_operation_type_definition?, #scalar_type_definition?, #schema_definition?, #string_value?, #type_condition?, #type_system_directive_location?, #union_type_definition?, #value?, #variable?, #variable_definition?

Constructor Details

#initialize(description, name, arguments_definition, type, directives) ⇒ FieldDefinition

Returns a new instance of FieldDefinition.



565
566
567
568
569
570
571
# File 'lib/tinygql/nodes.rb', line 565

def initialize description, name, arguments_definition, type, directives
  @description = description
  @name = name
  @arguments_definition = arguments_definition
  @type = type
  @directives = directives
end

Instance Attribute Details

#arguments_definitionObject (readonly)

Returns the value of attribute arguments_definition.



563
564
565
# File 'lib/tinygql/nodes.rb', line 563

def arguments_definition
  @arguments_definition
end

#descriptionObject (readonly)

Returns the value of attribute description.



563
564
565
# File 'lib/tinygql/nodes.rb', line 563

def description
  @description
end

#directivesObject (readonly)

Returns the value of attribute directives.



563
564
565
# File 'lib/tinygql/nodes.rb', line 563

def directives
  @directives
end

#nameObject (readonly)

Returns the value of attribute name.



563
564
565
# File 'lib/tinygql/nodes.rb', line 563

def name
  @name
end

#typeObject (readonly)

Returns the value of attribute type.



563
564
565
# File 'lib/tinygql/nodes.rb', line 563

def type
  @type
end

Instance Method Details

#accept(viz) ⇒ Object



573
574
575
# File 'lib/tinygql/nodes.rb', line 573

def accept viz
  viz.handle_field_definition self
end

#childrenObject



583
584
585
# File 'lib/tinygql/nodes.rb', line 583

def children
  ary = []; ary.concat(arguments_definition) if arguments_definition; ary << type; ary.concat(directives) if directives; ary
end

#field_definition?Boolean

Returns:

  • (Boolean)


581
# File 'lib/tinygql/nodes.rb', line 581

def field_definition? = true

#fold(viz, seed) ⇒ Object



577
578
579
# File 'lib/tinygql/nodes.rb', line 577

def fold viz, seed
  viz.handle_field_definition self, seed
end