strongmind-platform-sdk 3.8.0 → 3.9.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 +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +15 -5
- data/README.md +1 -1
- data/lib/platform_sdk/learnosity_api/client.rb +46 -0
- data/lib/platform_sdk/learnosity_api.rb +14 -0
- data/lib/platform_sdk/version.rb +1 -1
- data/sig/platform_sdk/learnosity_api/client.rbs +30 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c4e1f27b602fdeeec574fdca1aa2d501b034ae880ae96559651f6cc80fc73a7
|
4
|
+
data.tar.gz: 844e8aa6a75702de3edcbc3ad7227c56eedb67c8de2de259dce24dea94793c8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7c648a61096300e5476ef6f34bb0438987459dfcc38bab3060f8665ae911717d6f57330fd54e65e7d8144c84b37724a4009568894365b538febd686cbcad16e
|
7
|
+
data.tar.gz: f53a3260112c78b92e8541f00bd6bd46367164e5d24a4887a50aca5a4144c8661426dc3f0d7b84e5463d8662b2efe24de242be8e9b6efc387d41e22c490e6334
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
strongmind-platform-sdk (3.
|
4
|
+
strongmind-platform-sdk (3.9.1)
|
5
5
|
aws-sdk-secretsmanager (~> 1.66)
|
6
6
|
devise
|
7
7
|
faraday (~> 2.5, >= 2.5.2)
|
8
8
|
faraday-retry
|
9
9
|
jwt
|
10
|
+
learnosity-sdk (~> 0.2.2)
|
10
11
|
omniauth
|
11
12
|
omniauth-rails_csrf_protection
|
12
13
|
omniauth_openid_connect
|
@@ -41,14 +42,14 @@ GEM
|
|
41
42
|
ast (2.4.2)
|
42
43
|
attr_required (1.0.2)
|
43
44
|
aws-eventstream (1.3.0)
|
44
|
-
aws-partitions (1.
|
45
|
-
aws-sdk-core (3.
|
45
|
+
aws-partitions (1.884.0)
|
46
|
+
aws-sdk-core (3.191.0)
|
46
47
|
aws-eventstream (~> 1, >= 1.3.0)
|
47
48
|
aws-partitions (~> 1, >= 1.651.0)
|
48
49
|
aws-sigv4 (~> 1.8)
|
49
50
|
jmespath (~> 1, >= 1.6.1)
|
50
|
-
aws-sdk-secretsmanager (1.
|
51
|
-
aws-sdk-core (~> 3, >= 3.
|
51
|
+
aws-sdk-secretsmanager (1.90.0)
|
52
|
+
aws-sdk-core (~> 3, >= 3.191.0)
|
52
53
|
aws-sigv4 (~> 1.1)
|
53
54
|
aws-sigv4 (1.8.0)
|
54
55
|
aws-eventstream (~> 1, >= 1.0.2)
|
@@ -97,6 +98,8 @@ GEM
|
|
97
98
|
faraday (~> 2.0)
|
98
99
|
faraday-follow_redirects
|
99
100
|
jwt (1.5.6)
|
101
|
+
learnosity-sdk (0.2.2)
|
102
|
+
sys-uname (>= 1.0)
|
100
103
|
loofah (2.22.0)
|
101
104
|
crass (~> 1.0.2)
|
102
105
|
nokogiri (>= 1.12.0)
|
@@ -121,6 +124,10 @@ GEM
|
|
121
124
|
nokogiri (1.16.0)
|
122
125
|
mini_portile2 (~> 2.8.2)
|
123
126
|
racc (~> 1.4)
|
127
|
+
nokogiri (1.16.0-x86_64-darwin)
|
128
|
+
racc (~> 1.4)
|
129
|
+
nokogiri (1.16.0-x86_64-linux)
|
130
|
+
racc (~> 1.4)
|
124
131
|
omniauth (2.1.2)
|
125
132
|
hashie (>= 3.4.6)
|
126
133
|
rack (>= 2.2.3)
|
@@ -221,6 +228,8 @@ GEM
|
|
221
228
|
attr_required (>= 0.0.5)
|
222
229
|
faraday (~> 2.0)
|
223
230
|
faraday-follow_redirects
|
231
|
+
sys-uname (1.2.3)
|
232
|
+
ffi (~> 1.1)
|
224
233
|
thor (1.3.0)
|
225
234
|
timeout (0.4.1)
|
226
235
|
typhoeus (1.4.0)
|
@@ -251,6 +260,7 @@ DEPENDENCIES
|
|
251
260
|
faraday
|
252
261
|
faraday-retry
|
253
262
|
jwt (~> 1.5, >= 1.5.4)
|
263
|
+
learnosity-sdk (~> 0.2.2)
|
254
264
|
rake (~> 13.0)
|
255
265
|
rspec (~> 3.6, >= 3.6.0)
|
256
266
|
rubocop
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ First [configure your GitHub credentials](#configure-github-credentials)
|
|
11
11
|
Install the gem and add to the application's Gemfile by executing:
|
12
12
|
|
13
13
|
```
|
14
|
-
gem "strongmind-platform-sdk", "~> 3.
|
14
|
+
gem "strongmind-platform-sdk", "~> 3.9.1"
|
15
15
|
```
|
16
16
|
|
17
17
|
If bundler is not being used to manage dependencies, install the gem by executing:
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "learnosity/sdk/request/init"
|
3
|
+
require "securerandom"
|
4
|
+
require "net/http"
|
5
|
+
|
6
|
+
module PlatformSdk
|
7
|
+
module LearnosityApi
|
8
|
+
# Learnosity::Client
|
9
|
+
class Client
|
10
|
+
attr_reader :credentials, :security
|
11
|
+
|
12
|
+
def initialize(credentials)
|
13
|
+
@credentials = credentials
|
14
|
+
|
15
|
+
raise ArgumentError, "learnosity_host is required" if @credentials[:learnosity_host].nil?
|
16
|
+
raise ArgumentError, "service is required" if @credentials[:service].nil?
|
17
|
+
raise ArgumentError, "consumer_key is required" if @credentials[:consumer_key].nil?
|
18
|
+
raise ArgumentError, "consumer_secret is required" if @credentials[:consumer_secret].nil?
|
19
|
+
raise ArgumentError, "organisation_id is required" if @credentials[:organisation_id].nil?
|
20
|
+
raise ArgumentError, "domain is required" if @credentials[:domain].nil?
|
21
|
+
|
22
|
+
@security = {
|
23
|
+
"consumer_key" => @credentials[:consumer_key],
|
24
|
+
"user_id" => SecureRandom.uuid,
|
25
|
+
"domain" => @credentials[:domain]
|
26
|
+
}
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
def sign(request)
|
31
|
+
init = Learnosity::Sdk::Request::Init.new(
|
32
|
+
@credentials[:service],
|
33
|
+
@security,
|
34
|
+
@credentials[:consumer_secret],
|
35
|
+
request
|
36
|
+
)
|
37
|
+
init.generate
|
38
|
+
end
|
39
|
+
|
40
|
+
def post(path, request)
|
41
|
+
uri = URI("https://#{@credentials[:learnosity_host]}/#{path}")
|
42
|
+
Net::HTTP.post_form(uri, sign(request))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "faraday"
|
4
|
+
require "faraday/net_http"
|
5
|
+
require "faraday/retry"
|
6
|
+
require "platform_sdk/learnosity_api/client"
|
7
|
+
|
8
|
+
module PlatformSdk
|
9
|
+
module LearnosityApi
|
10
|
+
class Error < StandardError; end
|
11
|
+
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
data/lib/platform_sdk/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
module PlatformSdk
|
2
|
+
module LearnosityApi
|
3
|
+
|
4
|
+
type credentials = {
|
5
|
+
learnosity_host: string,
|
6
|
+
services: string,
|
7
|
+
consumer_key: string,
|
8
|
+
consumer_secret: string,
|
9
|
+
organisation_id: string,
|
10
|
+
domain: string
|
11
|
+
}
|
12
|
+
|
13
|
+
type security = {
|
14
|
+
consumer_key: string,
|
15
|
+
user_id: string,
|
16
|
+
domain: string
|
17
|
+
}
|
18
|
+
|
19
|
+
class Client
|
20
|
+
attr_reader security: security
|
21
|
+
attr_reader credentials: credentials
|
22
|
+
|
23
|
+
def initialize: (credentials: credentials) -> void
|
24
|
+
|
25
|
+
def sign: (request: Hash[string, untyped]) -> Hash[string, untyped]
|
26
|
+
|
27
|
+
def post: (path: string, request: Hash[string, untyped]) -> Net::HTTPResponse
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strongmind-platform-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Platform Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -44,6 +44,20 @@ dependencies:
|
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: learnosity-sdk
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.2.2
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.2.2
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: strongmind-oneroster-client
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,6 +227,8 @@ files:
|
|
213
227
|
- lib/platform_sdk/id_mapper/models/domain.rb
|
214
228
|
- lib/platform_sdk/identity.rb
|
215
229
|
- lib/platform_sdk/identity/clients.rb
|
230
|
+
- lib/platform_sdk/learnosity_api.rb
|
231
|
+
- lib/platform_sdk/learnosity_api/client.rb
|
216
232
|
- lib/platform_sdk/one_roster.rb
|
217
233
|
- lib/platform_sdk/one_roster/client.rb
|
218
234
|
- lib/platform_sdk/ops_genie.rb
|
@@ -228,6 +244,7 @@ files:
|
|
228
244
|
- lib/platform_sdk/sentry.rb
|
229
245
|
- lib/platform_sdk/version.rb
|
230
246
|
- sig/platform_sdk/identity/auth_client.rbs
|
247
|
+
- sig/platform_sdk/learnosity_api/client.rbs
|
231
248
|
- sig/platform_sdk/ops_genie/client.rbs
|
232
249
|
- sig/platform_sdk/platform_sdk.rbs
|
233
250
|
homepage: https://github.com/StrongMind/platform-ruby-sdk
|