fragment-alpha-sdk 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c27bff789593bb762e67b0939f6c85de3f1c02b3b95d538681f918b45ad4668
4
- data.tar.gz: '000697d256712aadef3027ab394af1d67517eb48662766d56f13446af2998e3f'
3
+ metadata.gz: 62a4d3cb2aa95e912261ccb28b7bc7a9b406e16e87beec88eea1f49706c3ffe0
4
+ data.tar.gz: 3e13aefb9c50d3301a048f28a4e5220bab037e223aad43fd508cb9c687896526
5
5
  SHA512:
6
- metadata.gz: 758041cbdf87dc9b77201d62bab9bc594e9a62fd539ae3d5ec21a1fd3ea8deffc629646ec9c00487b4a09397fd204e1d338879be5a600106c5bded1948a93816
7
- data.tar.gz: 0d299bb4f3b8f870e1f7d83d849495836b33d47fc95b10e1b367cea216c56157a197812fd0b2430a96bbfd9a882ca5a2ac0b12889ecef781306b9303854306a8
6
+ metadata.gz: 137cb1729e102a1aa668a4e7076435146701d99fd3f274cfef777580c3adb79f115bec45af56453eb46ad2ed3efe89e153d419e0da37fdd1bd6d96673e923865
7
+ data.tar.gz: 817d73d5ac8a07b940d0ddd5bb760a3417dac4ba80995604b82c82bcd68a152a46cb43945d7ba1fb794ee788d55bca2672bca5893deed1a317f7afe571955fec
@@ -15,7 +15,7 @@ module FragmentGraphQl
15
15
  extend T::Sig
16
16
  sig { params(context: T.untyped).returns(T::Hash[T.untyped, T.untyped]) }
17
17
  def headers(context)
18
- { 'Authorization' => 'Bearer %s' % context[:access_token] }
18
+ { 'Authorization' => format('Bearer %s', context[:access_token]) }
19
19
  end
20
20
  end, GraphQL::Client::HTTP)
21
21
 
@@ -37,36 +37,32 @@ class FragmentClient
37
37
  execute: GraphQL::Client::HTTP).void
38
38
  end
39
39
  def initialize(client_id, client_secret, extra_queries_filename: nil, execute: FragmentGraphQl::HTTP)
40
+ set_instance_variables(execute, client_id, client_secret)
41
+ define_method_from_queries(FragmentGraphQl::Queries)
42
+ return if extra_queries_filename.nil?
43
+
44
+ queries = FragmentGraphQl::Client.parse(
45
+ File.read(extra_queries_filename)
46
+ )
47
+ define_method_from_queries(queries)
48
+ end
49
+
50
+ def set_instance_variables(execute, client_id, client_secret)
40
51
  @client = T.let(GraphQL::Client.new(schema: FragmentGraphQl::Schema, execute: execute), GraphQL::Client)
41
52
  conn = create_conn(client_id, client_secret)
42
53
  # TODO: the token may need to be refreshed if the client is around for a long time
43
54
  @token = T.let(get_token(conn, client_id), String)
44
- FragmentGraphQl::Queries.constants.each do |q|
45
- name = q.to_s.gsub(/[a-z]([A-Z])/) do |m|
55
+ end
56
+
57
+ def define_method_from_queries(queries)
58
+ queries.constants.each do |qry|
59
+ name = qry.to_s.gsub(/[a-z]([A-Z])/) do |m|
46
60
  format('%<lower>s_%<upper>s', lower: m[0], upper: m[1].downcase)
47
61
  end.gsub(/^[A-Z]/, &:downcase)
48
62
  define_singleton_method(name) do |v|
49
- query(FragmentGraphQl::Queries.const_get(q), v)
63
+ query(queries.const_get(qry), v)
50
64
  end
51
65
  end
52
-
53
- return if extra_queries_filename.nil?
54
-
55
- queries = FragmentGraphQl::Client.parse(
56
- File.read(extra_queries_filename)
57
- )
58
- queries.constants.each do |q|
59
- define_method_from_query(q, queries)
60
- end
61
- end
62
-
63
- def define_method_from_query(q, queries)
64
- name = q.to_s.gsub(/[a-z]([A-Z])/) do |m|
65
- format('%<lower>s_%<upper>s', lower: m[0], upper: m[1].downcase)
66
- end.gsub(/^[A-Z]/, &:downcase)
67
- define_singleton_method(name) do |v|
68
- query(queries.const_get(q), v)
69
- end
70
66
  end
71
67
 
72
68
  def create_conn(client_id, client_secret)
@@ -92,7 +88,7 @@ class FragmentClient
92
88
  req.body = format('grant_type=client_credentials&scope=https://api.fragment.dev/*&client_id=%s', client_id)
93
89
  end
94
90
  rescue Faraday::ClientError => e
95
- raise StandardError, "oauth Authentication failed: '%s'" % e.to_s
91
+ raise StandardError, format("oauth Authentication failed: '%s'", e.to_s)
96
92
  end
97
93
  T.let(JSON.parse(response.body)['access_token'], String)
98
94
  end
data/lib/queries.graphql CHANGED
@@ -1,3 +1,16 @@
1
+ mutation StoreSchema($schema: SchemaInput!) {
2
+ storeSchema(schema: $schema) {
3
+ schema {
4
+ key
5
+ name
6
+ version {
7
+ created
8
+ version
9
+ }
10
+ }
11
+ }
12
+ }
13
+
1
14
  mutation CreateLedger($ik: SafeString!, $ledger: CreateLedgerInput!) {
2
15
  createLedger(ik: $ik, ledger: $ledger) {
3
16
  __typename
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragment-alpha-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - fragment
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 1980-01-01 00:00:00.000000000 Z
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.18'
33
+ version: '0.20'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.18'
40
+ version: '0.20'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sorbet-runtime
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.5'
55
- description:
55
+ description:
56
56
  email: snoble@fragment.dev
57
57
  executables: []
58
58
  extensions: []
@@ -66,7 +66,7 @@ homepage: https://fragment.dev
66
66
  licenses:
67
67
  - Nonstandard
68
68
  metadata: {}
69
- post_install_message:
69
+ post_install_message:
70
70
  rdoc_options: []
71
71
  require_paths:
72
72
  - lib
@@ -81,8 +81,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.4.10
85
- signing_key:
84
+ rubygems_version: 3.0.3.1
85
+ signing_key:
86
86
  specification_version: 4
87
87
  summary: an alpha version for the fragment client sdk
88
88
  test_files: []