graphql.rb 556 B

12345678910111213141516171819202122
  1. # frozen_string_literal: true
  2. require 'graphql/client'
  3. require 'graphql/client/http'
  4. module ShopifyAPI
  5. # GraphQL API.
  6. class GraphQL
  7. def initialize
  8. uri = Base.site.dup
  9. uri.path = '/admin/api/graphql.json'
  10. @http = ::GraphQL::Client::HTTP.new(uri.to_s) do
  11. define_method(:headers) do |_context|
  12. Base.headers
  13. end
  14. end
  15. @schema = ::GraphQL::Client.load_schema(@http)
  16. @client = ::GraphQL::Client.new(schema: @schema, execute: @http)
  17. end
  18. delegate :parse, :query, to: :@client
  19. end
  20. end