fragment-dev 1.0.0 → 1.1.0
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 +4 -4
- data/lib/fragment_client/version.rb +1 -1
- data/lib/fragment_client.rb +28 -8
- metadata +21 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz: '
|
3
|
+
metadata.gz: 795d5a9173f69a77d6041db92a4d1eabcdd7d1140fa6c03401850cc685e4780c
|
4
|
+
data.tar.gz: '03091e5ce54d5ca7dec4e70e2ca32cebcd9723267e817828ab2d1e43deb67bfd'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78f67f66b76fc41652f4789a02a05beacfac021365c213c7dd29b29255487f68d0051e3465ed3aebd16395544520a9871db86ec8826b92d47c6c15ea7b0f4c40
|
7
|
+
data.tar.gz: 62c6291ed290e86a52eed5da6cad2ce9a3730a7da22bdfd3a5b1e2a0802b9106ec4533b208a7624ceaae8f18a0fcf55f9bb8a97b9fbe60fea81886c6a6caa542
|
data/lib/fragment_client.rb
CHANGED
@@ -9,6 +9,24 @@ require 'uri'
|
|
9
9
|
require 'net/http'
|
10
10
|
require 'fragment_client/version'
|
11
11
|
|
12
|
+
module GraphQL
|
13
|
+
module StaticValidation
|
14
|
+
ALL_RULES = GraphQL::StaticValidation::ALL_RULES - [
|
15
|
+
GraphQL::StaticValidation::ArgumentLiteralsAreCompatible
|
16
|
+
]
|
17
|
+
end
|
18
|
+
|
19
|
+
class Client
|
20
|
+
# A monkey patch to change the definition name
|
21
|
+
class Definition
|
22
|
+
alias old_definition_name definition_name
|
23
|
+
def definition_name
|
24
|
+
old_definition_name.gsub(/#<Module.*>/, 'FragmentGraphQl__Dynamic')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
12
30
|
# A support module for the client
|
13
31
|
module FragmentGraphQl
|
14
32
|
VERSION = FragmentSDK::VERSION
|
@@ -45,10 +63,11 @@ class FragmentClient
|
|
45
63
|
extend T::Sig
|
46
64
|
|
47
65
|
sig do
|
48
|
-
params(client_id: String, client_secret: String,
|
66
|
+
params(client_id: String, client_secret: String, extra_queries_filenames: T.nilable(T::Array[String]),
|
49
67
|
api_url: T.nilable(String), oauth_url: T.nilable(String), oauth_scope: T.nilable(String)).void
|
50
68
|
end
|
51
|
-
|
69
|
+
|
70
|
+
def initialize(client_id, client_secret, extra_queries_filenames: nil, api_url: nil,
|
52
71
|
oauth_url: 'https://auth.fragment.dev/oauth2/token', oauth_scope: 'https://api.fragment.dev/*')
|
53
72
|
@oauth_scope = T.let(oauth_scope, String)
|
54
73
|
@oauth_url = T.let(URI.parse(oauth_url), URI)
|
@@ -62,19 +81,20 @@ class FragmentClient
|
|
62
81
|
@token = T.let(create_token, Token)
|
63
82
|
|
64
83
|
define_method_from_queries(FragmentGraphQl::FragmentQueries)
|
65
|
-
return if
|
84
|
+
return if extra_queries_filenames.nil?
|
66
85
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
86
|
+
extra_queries_filenames.each do |filename|
|
87
|
+
queries = @client.parse(
|
88
|
+
File.read(filename)
|
89
|
+
)
|
90
|
+
define_method_from_queries(queries)
|
91
|
+
end
|
71
92
|
end
|
72
93
|
|
73
94
|
sig { params(query: T.untyped, variables: T.untyped).returns(T.untyped) }
|
74
95
|
def query(query, variables)
|
75
96
|
expiry_time_skew = 120
|
76
97
|
@token = create_token if Time.now > @token.expires_at - expiry_time_skew
|
77
|
-
puts query
|
78
98
|
@client.query(query, variables: variables, context: { access_token: @token.token })
|
79
99
|
end
|
80
100
|
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fragment-dev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fragment
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-09 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.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.13.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: graphql-client
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,7 +52,7 @@ dependencies:
|
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0.5'
|
41
|
-
description:
|
55
|
+
description:
|
42
56
|
email: snoble@fragment.dev
|
43
57
|
executables: []
|
44
58
|
extensions: []
|
@@ -53,7 +67,7 @@ homepage: https://fragment.dev
|
|
53
67
|
licenses:
|
54
68
|
- Apache-2.0
|
55
69
|
metadata: {}
|
56
|
-
post_install_message:
|
70
|
+
post_install_message:
|
57
71
|
rdoc_options: []
|
58
72
|
require_paths:
|
59
73
|
- lib
|
@@ -68,8 +82,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
82
|
- !ruby/object:Gem::Version
|
69
83
|
version: '0'
|
70
84
|
requirements: []
|
71
|
-
rubygems_version: 3.3.
|
72
|
-
signing_key:
|
85
|
+
rubygems_version: 3.0.3.1
|
86
|
+
signing_key:
|
73
87
|
specification_version: 4
|
74
88
|
summary: the ruby fragment client sdk
|
75
89
|
test_files: []
|