Class: ShopifyAPI::Clients::Graphql::Client

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/shopify_api/clients/graphql/client.rb

Direct Known Subclasses

Admin, Storefront

Instance Method Summary collapse

Constructor Details

#initialize(session:, base_path:) ⇒ Client

Returns a new instance of Client.



11
12
13
# File 'lib/shopify_api/clients/graphql/client.rb', line 11

def initialize(session:, base_path:)
  @http_client = T.let(HttpClient.new(session: session, base_path: base_path), HttpClient)
end

Instance Method Details

#query(query:, variables: nil, headers: nil, tries: 1) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/shopify_api/clients/graphql/client.rb', line 23

def query(query:, variables: nil, headers: nil, tries: 1)
  body = { query: query, variables: variables }
  @http_client.request(
    HttpRequest.new(
      http_method: :post,
      path: "#{Context.api_version}/graphql.json",
      body: body,
      query: nil,
      extra_headers: headers,
      body_type: "application/json",
      tries: tries,
    ),
  )
end