Class: GraphQL::Client::Query

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(document, operation_name: nil, variables: {}, context: {}) ⇒ Query

Returns a new instance of Query.



245
246
247
248
249
250
# File 'lib/graphql/client.rb', line 245

def initialize(document, operation_name: nil, variables: {}, context: {})
  @document = document
  @operation_name = operation_name
  @variables = variables
  @context = context
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



243
244
245
# File 'lib/graphql/client.rb', line 243

def context
  @context
end

#documentObject (readonly)

Returns the value of attribute document.



243
244
245
# File 'lib/graphql/client.rb', line 243

def document
  @document
end

#operation_nameObject (readonly)

Returns the value of attribute operation_name.



243
244
245
# File 'lib/graphql/client.rb', line 243

def operation_name
  @operation_name
end

#variablesObject (readonly)

Returns the value of attribute variables.



243
244
245
# File 'lib/graphql/client.rb', line 243

def variables
  @variables
end

Instance Method Details

#operationObject



256
257
258
# File 'lib/graphql/client.rb', line 256

def operation
  document.definitions.find { |node| node.name == operation_name }
end

#operation_typeObject



260
261
262
# File 'lib/graphql/client.rb', line 260

def operation_type
  operation.operation_type
end

#payloadObject



264
265
266
267
268
269
270
271
# File 'lib/graphql/client.rb', line 264

def payload
  {
    document: document,
    operation_name: operation_name,
    operation_type: operation_type,
    variables: variables
  }
end

#to_sObject



252
253
254
# File 'lib/graphql/client.rb', line 252

def to_s
  document.to_query_string
end