fragment-dev 1.0.0 → 1.1.1

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: 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