fragment-alpha-sdk 0.1.7 → 0.1.9

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: e2a53263cbd89f67bfeca1e7fda4a51b78b627b027f9198f0f3ff457b334757d
4
+ data.tar.gz: 14367e65fb5cc314ec4febd27755687cea0623f1ce76edfeaf22f0acef80295a
5
5
  SHA512:
6
- metadata.gz: 758041cbdf87dc9b77201d62bab9bc594e9a62fd539ae3d5ec21a1fd3ea8deffc629646ec9c00487b4a09397fd204e1d338879be5a600106c5bded1948a93816
7
- data.tar.gz: 0d299bb4f3b8f870e1f7d83d849495836b33d47fc95b10e1b367cea216c56157a197812fd0b2430a96bbfd9a882ca5a2ac0b12889ecef781306b9303854306a8
6
+ metadata.gz: 1aacdce3ccc7e8c82e4917f9da256616ea642f114661cd38563940c9d824b40788057715e8bcc4c01e7edab8561440f18c9cffa717cc48427ccd8424a1c58622
7
+ data.tar.gz: b5b11204fc4e1adb986de548e61372f13a48847f3c498e11b73bdaa79a1a59272e5b8f824de957aa8e606a20b00393c691871ed1b82ee6b0ea71405a20e8b98e
@@ -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,26 @@
1
+ mutation StoreSchema($schema: SchemaInput!) {
2
+ storeSchema(schema: $schema) {
3
+ ... on StoreSchemaResult {
4
+ schema {
5
+ key
6
+ name
7
+ version {
8
+ created
9
+ version
10
+ }
11
+ }
12
+ }
13
+ ... on BadRequestError {
14
+ code
15
+ message
16
+ }
17
+ ... on InternalError {
18
+ code
19
+ message
20
+ }
21
+ }
22
+ }
23
+
1
24
  mutation CreateLedger($ik: SafeString!, $ledger: CreateLedgerInput!) {
2
25
  createLedger(ik: $ik, ledger: $ledger) {
3
26
  __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.9
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-10 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: []