Class: GitHub::GraphQL::Client

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

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(token:) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
15
16
17
18
# File 'lib/github/graphql/client.rb', line 10

def initialize(token: )
  http = ::GraphQL::Client::HTTP.new(GitHub::GraphQL::URL) do
    define_method :headers, ->(context) { context.merge({"Authorization" => "bearer #{token}"}) }
  end
  schema = ::GraphQL::Client.load_schema(http)

  @client = ::GraphQL::Client.new(schema: schema, execute: http)
  @client.allow_dynamic_queries = true
end

Instance Method Details

#query(query_string) ⇒ Object



20
21
22
23
24
# File 'lib/github/graphql/client.rb', line 20

def query(query_string)
  query  = @client.parse(query_string)
  result = @client.query(query)
  result.data
end