fragment-dev 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84e21faf38f9866f0aeb75fd9399acdf18358f4e0a2c75ea46019a381c511f6d
4
- data.tar.gz: '099b14c0461456430b2d7556609dd9e49f3bcf1a5377035f91d89be8e3e05a95'
3
+ metadata.gz: d6ae25bde4c6a410b126467fb316de657cb1c614dae3c9bd8dbfc5aa4fe1908a
4
+ data.tar.gz: e61d12c32f90b7de76115269e1299331df792a9b2ac1f9523941ca8d0ebf1750
5
5
  SHA512:
6
- metadata.gz: 634c72a5b96d36bad362e54718585efd713b9e51c38f313a5ee20c494e24f3139ece0b8d5e77eda6bb28bb47313be06577621ffbf061279edc2f2ee765ffad4a
7
- data.tar.gz: afd9ac7901b7dab2efe897b6bef8fd922639553d799b9415748bff278b2f25730decbbfaa573ee99d837293b71df4d5c7cdde55b0d15be8eb3b1cf35c758daf8
6
+ metadata.gz: 386bbf0fb7a3e61a023a477d4b58e494b040e94b21ad513dd8a9d99fe4191b903ad597c6db18b4dbef117e475697aa7515d4066288374d4240d6b8b960aae65e
7
+ data.tar.gz: 4bb98e2ab615d095f895caba5327e39eefdc705fe2897b488e98f6d0ba2809ba867b59f8a006a5199fda12202f2cfeb59ee4bc666886b7122b4b7ca64ddcaa30
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FragmentSDK
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.1'
5
5
  end
@@ -9,6 +9,36 @@ require 'uri'
9
9
  require 'net/http'
10
10
  require 'fragment_client/version'
11
11
 
12
+ module GraphQL
13
+ module StaticValidation
14
+ class LiteralValidator
15
+ alias recursive_validate_old recursively_validate
16
+ def recursively_validate(ast_value, type)
17
+ res = catch(:invalid) do
18
+ recursive_validate_old(ast_value, type)
19
+ end
20
+ if !res.valid? && type.kind.scalar? && ast_value.is_a?(GraphQL::Language::Nodes::InputObject)
21
+ maybe_raise_if_invalid(ast_value) do
22
+ ['JSON', 'JSONObject', 'Any'].include?(type.graphql_name) ? @valid_response : @invalid_response
23
+ end
24
+ else
25
+ res
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ class Client
32
+ # A monkey patch to change the definition name
33
+ class Definition
34
+ alias old_definition_name definition_name
35
+ def definition_name
36
+ old_definition_name.gsub(/#<Module.*>/, 'FragmentGraphQl__Dynamic')
37
+ end
38
+ end
39
+ end
40
+ end
41
+
12
42
  # A support module for the client
13
43
  module FragmentGraphQl
14
44
  VERSION = FragmentSDK::VERSION
@@ -45,10 +75,11 @@ class FragmentClient
45
75
  extend T::Sig
46
76
 
47
77
  sig do
48
- params(client_id: String, client_secret: String, extra_queries_filename: T.nilable(String),
78
+ params(client_id: String, client_secret: String, extra_queries_filenames: T.nilable(T::Array[String]),
49
79
  api_url: T.nilable(String), oauth_url: T.nilable(String), oauth_scope: T.nilable(String)).void
50
80
  end
51
- def initialize(client_id, client_secret, extra_queries_filename: nil, api_url: nil,
81
+
82
+ def initialize(client_id, client_secret, extra_queries_filenames: nil, api_url: nil,
52
83
  oauth_url: 'https://auth.fragment.dev/oauth2/token', oauth_scope: 'https://api.fragment.dev/*')
53
84
  @oauth_scope = T.let(oauth_scope, String)
54
85
  @oauth_url = T.let(URI.parse(oauth_url), URI)
@@ -62,19 +93,20 @@ class FragmentClient
62
93
  @token = T.let(create_token, Token)
63
94
 
64
95
  define_method_from_queries(FragmentGraphQl::FragmentQueries)
65
- return if extra_queries_filename.nil?
96
+ return if extra_queries_filenames.nil?
66
97
 
67
- queries = @client.parse(
68
- File.read(extra_queries_filename)
69
- )
70
- define_method_from_queries(queries)
98
+ extra_queries_filenames.each do |filename|
99
+ queries = @client.parse(
100
+ File.read(filename)
101
+ )
102
+ define_method_from_queries(queries)
103
+ end
71
104
  end
72
105
 
73
106
  sig { params(query: T.untyped, variables: T.untyped).returns(T.untyped) }
74
107
  def query(query, variables)
75
108
  expiry_time_skew = 120
76
109
  @token = create_token if Time.now > @token.expires_at - expiry_time_skew
77
- puts query
78
110
  @client.query(query, variables: variables, context: { access_token: @token.token })
79
111
  end
80
112
 
data/lib/queries.graphql CHANGED
@@ -511,3 +511,35 @@ query GetSchema($key: SafeString!, $version: Int) {
511
511
  }
512
512
  }
513
513
  }
514
+
515
+ query ListLedgerEntries(
516
+ $ledgerIk: SafeString!
517
+ $after: String
518
+ $first: Int
519
+ $before: String
520
+ $filter: LedgerEntriesFilterSet
521
+ ) {
522
+ ledger(ledger: { ik: $ledgerIk }) {
523
+ ledgerEntries(after: $after, first: $first, before: $before, filter: $filter) {
524
+ nodes {
525
+ ik
526
+ type
527
+ posted
528
+ lines {
529
+ nodes {
530
+ amount
531
+ account {
532
+ path
533
+ }
534
+ }
535
+ }
536
+ }
537
+ pageInfo {
538
+ hasNextPage
539
+ endCursor
540
+ hasPreviousPage
541
+ startCursor
542
+ }
543
+ }
544
+ }
545
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragment-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - fragment
@@ -10,6 +10,26 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 1980-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: graphql
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.13'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.13.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.13'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.13.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: graphql-client
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
88
  - !ruby/object:Gem::Version
69
89
  version: '0'
70
90
  requirements: []
71
- rubygems_version: 3.3.27
91
+ rubygems_version: 3.5.9
72
92
  signing_key:
73
93
  specification_version: 4
74
94
  summary: the ruby fragment client sdk