Class: GraphQL::Client::OperationDefinition

Inherits:
Definition
  • Object
show all
Defined in:
lib/graphql/client.rb

Instance Attribute Summary collapse

Attributes inherited from Definition

#definition_node

Instance Method Summary collapse

Methods inherited from Definition

#definition_name, #name, #new

Constructor Details

#initialize(document:, **kargs) ⇒ OperationDefinition

Returns a new instance of OperationDefinition.



63
64
65
66
# File 'lib/graphql/client.rb', line 63

def initialize(document:, **kargs)
  @document = document
  super(**kargs)
end

Instance Attribute Details

#documentObject (readonly)

Public: Owner document of operation definition.

Returns GraphQL::Language::Nodes::Document of all registered definitions.



75
76
77
# File 'lib/graphql/client.rb', line 75

def document
  @document
end

Instance Method Details

#operation_documentObject

Public: Get document with only the definitions needed to perform this operation.

Returns GraphQL::Language::Nodes::Document with one OperationDefinition and any FragmentDefinition dependencies.



82
83
84
# File 'lib/graphql/client.rb', line 82

def operation_document
  @operation_document ||= Language::OperationSlice.slice(document, operation_name).deep_freeze
end