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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1313407db78f14f5104af7ea287372b74a7307aa981f2e3d08c2fe3448980ed1
4
- data.tar.gz: b37c8bf97b1bbad8554202cf132275367ce967bc9b927bdc77e48896082d970e
3
+ metadata.gz: 2c4e1f27b602fdeeec574fdca1aa2d501b034ae880ae96559651f6cc80fc73a7
4
+ data.tar.gz: 844e8aa6a75702de3edcbc3ad7227c56eedb67c8de2de259dce24dea94793c8a
5
5
  SHA512:
6
- metadata.gz: c1b11c454929a1106caf86e4cfe2dbac013604009f84973e2e4d9fd886bff434c0864a21ef64b3610cba3e93c71bb27ab32e1c8bb825db756707d306cef87349
7
- data.tar.gz: b29cbead41fc418a40117ae15533c1b04c17b01bac08ef6df2d8bb3bab23c95867bdbd373d6fd43dac398f702ea420c1ff1bdbcb6dd06eb3cdf4d62827dc9592
6
+ metadata.gz: b7c648a61096300e5476ef6f34bb0438987459dfcc38bab3060f8665ae911717d6f57330fd54e65e7d8144c84b37724a4009568894365b538febd686cbcad16e
7
+ data.tar.gz: f53a3260112c78b92e8541f00bd6bd46367164e5d24a4887a50aca5a4144c8661426dc3f0d7b84e5463d8662b2efe24de242be8e9b6efc387d41e22c490e6334
data/Gemfile CHANGED
@@ -13,6 +13,7 @@ gem "faker"
13
13
  gem "faraday"
14
14
  gem "faraday-retry"
15
15
  gem "jwt", "~> 1.5", ">= 1.5.4"
16
+ gem "learnosity-sdk", "~> 0.2.2"
16
17
  gem "rake", "~> 13.0"
17
18
  gem "rspec", "~> 3.6", ">= 3.6.0"
18
19
  gem "rubocop"
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strongmind-platform-sdk (3.8.0)
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.877.0)
45
- aws-sdk-core (3.190.1)
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.88.0)
51
- aws-sdk-core (~> 3, >= 3.188.0)
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.7.1"
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlatformSdk
4
- VERSION = "3.8.0"
4
+ VERSION = "3.9.1"
5
5
  end
@@ -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.8.0
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-29 00:00:00.000000000 Z
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