Sha256: 3cfbdb1ab87819c111f6baf4162a33040fffd86c2f29e5d3b036b856fc8761cd

Contents?: true

Size: 856 Bytes

Versions: 8

Compression:

Stored size: 856 Bytes

Contents

# frozen_string_literal: true

require_relative "graph_ql_client/issues"

require "graphql/client"
require "graphql/client/http"

# Service to perform github actions
module GithubApi
  class GraphQlClient
    include GithubApi::GraphQlClient::Issues

    HttpAdapter = GraphQL::Client::HTTP.new("https://api.github.com/graphql") do
      attr_writer :token

      def headers(_context)
        {
          "Authorization" => "bearer #{@token}"
        }
      end
    end

    def self.add_constants(token)
      HttpAdapter.token = token

      GithubApi::GraphQlClient.const_set("Schema", GraphQL::Client.load_schema(HttpAdapter))
      GithubApi::GraphQlClient.const_set("Client", GraphQL::Client.new(schema: Schema, execute: HttpAdapter))
      GithubApi::GraphQlClient.const_set("DeleteIssueQuery", Client.parse(DELETE_ISSUE_QUERY))
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tractive-1.0.22 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.21 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.20 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.19 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.18 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.17 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.16 lib/tractive/github_api/graph_ql_client.rb
tractive-1.0.15 lib/tractive/github_api/graph_ql_client.rb