Sha256: 1403ec5473f95960e94e1692d29397c16b7eae9dec95e862916eb8b767f06276

Contents?: true

Size: 836 Bytes

Versions: 2

Compression:

Stored size: 836 Bytes

Contents

# frozen_string_literal: true

require_relative "version"
require "graphlient"

module Stigg
  class Client
    def initialize(client)
      @client = client
    end

    def request(query, variables = nil)
      @client.query(query, variables)
    end
  end

  class << self
    # @param [String] api_key
    # @param [String api_url
    # @return [Client]
    def create_client(api_key, api_url = "https://api.stigg.io/graphql", request_timeout=30)
      schema_path = File.join(__dir__, '../../schema.json').to_s

      client = Graphlient::Client.new(
        api_url,
        headers: {
          "X-API-KEY": api_key
        },
        http_options: {
          read_timeout: request_timeout,
          write_timeout: request_timeout
        },
        schema_path: schema_path
      )

      Client.new(client)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stigg-api-client-0.3.0 lib/stigg/client.rb
stigg-api-client-0.1.1 lib/stigg/client.rb