Class: Stigg::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Client

Returns a new instance of Client.



19
20
21
# File 'lib/stigg/client.rb', line 19

def initialize(client)
  @client = client
end

Instance Method Details

#request(query, variables = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/stigg/client.rb', line 23

def request(query, variables = nil)
  operation_name_regex = /^(?:mutation|query) ([a-zA-Z0-9_\-]+)/
  operation_name, = query.match(operation_name_regex).captures

  query = query.sub(operation_name, "")
  query_obj = @client.parse(query)

  Stigg::OperationsNames[query_obj.operation_name] = operation_name

  @client.query(query_obj, variables)
end