Module: GraphQL::Execution::Interpreter::Runtime::GraphQLResult Private
- Included in:
- GraphQLResultArray, GraphQLResultHash
- Defined in:
- lib/graphql/execution/interpreter/runtime/graphql_result.rb
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.
Instance Attribute Summary collapse
-
#ast_node ⇒ Object
readonly
private
-
#base_path ⇒ Object
writeonly
private
TODO test full path in Partial.
-
#graphql_application_value ⇒ Object
readonly
private
-
#graphql_arguments ⇒ Object
readonly
private
-
#graphql_dead ⇒ Object
private
-
#graphql_field ⇒ Object
readonly
private
-
#graphql_is_eager ⇒ Object
readonly
private
-
#graphql_is_non_null_in_parent ⇒ Object
readonly
private
-
#graphql_parent ⇒ Object
readonly
private
-
#graphql_result_data ⇒ Hash
private
Plain-Ruby result data (
@graphql_metadata
contains Result wrapper objects). -
#graphql_result_name ⇒ Object
readonly
private
-
#graphql_result_type ⇒ Object
readonly
private
-
#graphql_selections ⇒ Object
readonly
private
Instance Method Summary collapse
-
#build_path(path_array) ⇒ Object
private
-
#initialize(result_name, result_type, application_value, parent_result, is_non_null_in_parent, selections, is_eager, ast_node, graphql_arguments, graphql_field) ⇒ Object
private
rubocop:disable Metrics/ParameterLists.
-
#path ⇒ Object
private
Instance Attribute Details
#ast_node ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 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
28 29 30 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 28 def base_path=(value) @base_path = value end |
#graphql_application_value ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_application_value @graphql_application_value end |
#graphql_arguments ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_arguments @graphql_arguments end |
#graphql_dead ⇒ 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.
45 46 47 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 45 def graphql_dead @graphql_dead end |
#graphql_field ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_field @graphql_field end |
#graphql_is_eager ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_is_eager @graphql_is_eager end |
#graphql_is_non_null_in_parent ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_is_non_null_in_parent @graphql_is_non_null_in_parent end |
#graphql_parent ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_parent @graphql_parent end |
#graphql_result_data ⇒ Hash
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).
50 51 52 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 50 def graphql_result_data @graphql_result_data end |
#graphql_result_name ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_result_name @graphql_result_name end |
#graphql_result_type ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 def graphql_result_type @graphql_result_type end |
#graphql_selections ⇒ Object (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.
46 47 48 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 46 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.
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 |
#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
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. @graphql_metadata = nil @graphql_selections = selections @graphql_is_eager = is_eager @base_path = nil end |
#path ⇒ 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.
30 31 32 |
# File 'lib/graphql/execution/interpreter/runtime/graphql_result.rb', line 30 def path @path ||= build_path([]) end |