fragment-alpha-sdk 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fragment_client.rb +16 -11
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f849a4cd3d50380d22b0d4bb5ee21a6f0b0e18f97c3239a733bcffefc41302d3
4
- data.tar.gz: 38379c00310e55cc312de82e89bc01409a06dfbd0eb8845adb487b076afb6c2c
3
+ metadata.gz: 9fcd189945f88efc13be0caa31d90be0195922380edff42eaa2aa1e39dd05d3e
4
+ data.tar.gz: 938e6b0c3ca168e9da2523a0238efe083ef9f06f6dc1b075d7484ad61a97f3f7
5
5
  SHA512:
6
- metadata.gz: 6553b11226b6713c148cfe7a2685144aa0904bba41e9c6e34e45fac2972250f8b5f4a525975c7562a6cf031a74004aa1c04fdbd0e8103f9e23d8a5c3023ee2c5
7
- data.tar.gz: c31100103f55ed42ece02bb51586517d8a3e6b1842854fd9d68ce487545eac9ce92383b033e65d4274bc86722bdbc5afcbafcc7a7dcd0a8d966287ceca4033c8
6
+ metadata.gz: 4bcce2d57b8d478b1d3db76246c10dd93c0afc086a052e1ddac9fb59e1c7a4b284f4507ce9475fcd9ed8ccfec5f55a79c9b78a8891c8adfb88c4c48a24421d35
7
+ data.tar.gz: ac8790cd82ad51d0bb4c32a9b00d481456f7ae62c6ffbf97fb55239ce042a89ae9ca9049d095c0e94c539268d0e3906765fc2e32ebd17718a30b92f6980d61cc
@@ -8,23 +8,24 @@ require 'graphql/client'
8
8
  require 'graphql/client/http'
9
9
  require 'sorbet-runtime'
10
10
 
11
+ # A support module for the client
11
12
  module FragmentGraphQl
12
13
  extend T::Sig
13
14
  http = GraphQL::Client.const_get(:HTTP).new('https://api.fragment.dev/graphql') do
14
15
  extend T::Sig
15
- sig {params(context: T.untyped).returns(T::Hash[T.untyped, T.untyped])}
16
+ sig { params(context: T.untyped).returns(T::Hash[T.untyped, T.untyped]) }
16
17
  def headers(context)
17
- { 'Authorization' => 'Bearer %s' % context[:access_token] }
18
+ { 'Authorization' => 'Bearer %s'.format(context[:access_token]) }
18
19
  end
19
20
  end
20
21
 
21
22
  Schema = T.let(GraphQL::Client.load_schema("#{__dir__}/fragment.schema.json"), T.untyped)
22
23
 
23
- Client = T.let(GraphQL::Client.new(schema: Schema, execute: RDoc::Attr), GraphQL::Client)
24
+ Client = T.let(GraphQL::Client.new(schema: Schema, execute: http), GraphQL::Client)
24
25
 
25
26
  Queries = T.let(Client.parse(
26
- File.open("#{__dir__}/queries.graphql".read
27
- ), T.untyped)
27
+ File.open("#{__dir__}/queries.graphql").read
28
+ ), T.untyped)
28
29
  end
29
30
 
30
31
  # A client for Fragment
@@ -33,11 +34,7 @@ class FragmentClient
33
34
 
34
35
  sig { params(client_id: String, client_secret: String).void }
35
36
  def initialize(client_id, client_secret)
36
- conn = T.let(Faraday.new('https://auth.fragment.dev') do |f|
37
- f.request :url_encoded
38
- f.request :authorization, :basic, client_id, client_secret
39
- f.adapter :net_http
40
- end, Faraday::Connection)
37
+ conn = create_conn(client_id, client_secret)
41
38
  @token = T.let(get_token(conn, client_id), String)
42
39
  FragmentGraphQl::Queries.constants.each do |q|
43
40
  name = q.to_s.gsub(/[a-z]([A-Z])/) do |m|
@@ -49,7 +46,15 @@ class FragmentClient
49
46
  end
50
47
  end
51
48
 
52
- sig {params(query: T.untyped, variables: T.untyped).returns(T.untyped)}
49
+ def create_conn(client_id, client_secret)
50
+ T.let(Faraday.new('https://auth.fragment.dev') do |f|
51
+ f.request :url_encoded
52
+ f.request :authorization, :basic, client_id, client_secret
53
+ f.adapter :net_http
54
+ end, Faraday::Connection)
55
+ end
56
+
57
+ sig { params(query: T.untyped, variables: T.untyped).returns(T.untyped) }
53
58
  def query(query, variables)
54
59
  FragmentGraphQl::Client.query(query, variables: variables, context: { access_token: @token })
55
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragment-alpha-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - fragment