Module: GraphQL::Execution::Interpreter::Runtime::GraphQLResult Private

Included in:
GraphQLResultArray, GraphQLResultHash
Defined in:
lib/graphql/execution/interpreter/runtime/graphql_result.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

API:

  • private

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#ast_nodeObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def ast_node
  @ast_node
end

#base_path=(value) ⇒ Object (writeonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

TODO test full path in Partial

API:

  • private



28
29
30
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 28

def base_path=(value)
  @base_path = value
end

#graphql_application_valueObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_application_value
  @graphql_application_value
end

#graphql_argumentsObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_arguments
  @graphql_arguments
end

#graphql_deadObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



53
54
55
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 53

def graphql_dead
  @graphql_dead
end

#graphql_fieldObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_field
  @graphql_field
end

#graphql_is_eagerObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_is_eager
  @graphql_is_eager
end

#graphql_is_non_null_in_parentObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_is_non_null_in_parent
  @graphql_is_non_null_in_parent
end

#graphql_parentObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_parent
  @graphql_parent
end

#graphql_result_dataHash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Plain-Ruby result data (@graphql_metadata contains Result wrapper objects).

Returns:

  • Plain-Ruby result data (@graphql_metadata contains Result wrapper objects)

API:

  • private



58
59
60
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 58

def graphql_result_data
  @graphql_result_data
end

#graphql_result_nameObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_result_name
  @graphql_result_name
end

#graphql_result_typeObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_result_type
  @graphql_result_type
end

#graphql_selectionsObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



54
55
56
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 54

def graphql_selections
  @graphql_selections
end

Instance Method Details

#build_path(path_array) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



34
35
36
37
38
39
40
41
42
43
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 34

def build_path(path_array)
  graphql_result_name && path_array.unshift(graphql_result_name)
  if @graphql_parent
    @graphql_parent.build_path(path_array)
  elsif @base_path
    @base_path + path_array
  else
    path_array
  end
end

#depthObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



45
46
47
48
49
50
51
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 45

def depth
  @depth ||= if @graphql_parent
    @graphql_parent.depth + 1
  else
    1
  end
end

#initialize(result_name, result_type, application_value, parent_result, is_non_null_in_parent, selections, is_eager, ast_node, graphql_arguments, graphql_field) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

rubocop:disable Metrics/ParameterLists

API:

  • private



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 8

def initialize(result_name, result_type, application_value, parent_result, is_non_null_in_parent, selections, is_eager, ast_node, graphql_arguments, graphql_field) # rubocop:disable Metrics/ParameterLists
  @ast_node = ast_node
  @graphql_arguments = graphql_arguments
  @graphql_field = graphql_field
  @graphql_parent = parent_result
  @graphql_application_value = application_value
  @graphql_result_type = result_type
  if parent_result && parent_result.graphql_dead
    @graphql_dead = true
  end
  @graphql_result_name = result_name
  @graphql_is_non_null_in_parent = is_non_null_in_parent
  # Jump through some hoops to avoid creating this duplicate storage if at all possible.
   = nil
  @graphql_selections = selections
  @graphql_is_eager = is_eager
  @base_path = nil
end

#pathObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



30
31
32
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 30

def path
  @path ||= build_path([])
end