strongmind-platform-sdk 3.8.0 → 3.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1313407db78f14f5104af7ea287372b74a7307aa981f2e3d08c2fe3448980ed1
4
- data.tar.gz: b37c8bf97b1bbad8554202cf132275367ce967bc9b927bdc77e48896082d970e
3
+ metadata.gz: aa0d49b2e71864d99e40e2c22f3e51c13ecf4d08401e5d5016b38157f744565f
4
+ data.tar.gz: a1c5ee3dbda9573aace61600486c4e1ef8adaf09fdea124b1049cfe6a1324d13
5
5
  SHA512:
6
- metadata.gz: c1b11c454929a1106caf86e4cfe2dbac013604009f84973e2e4d9fd886bff434c0864a21ef64b3610cba3e93c71bb27ab32e1c8bb825db756707d306cef87349
7
- data.tar.gz: b29cbead41fc418a40117ae15533c1b04c17b01bac08ef6df2d8bb3bab23c95867bdbd373d6fd43dac398f702ea420c1ff1bdbcb6dd06eb3cdf4d62827dc9592
6
+ metadata.gz: f09f54549c72ec4b130b8c758e171ecfc4dc5f97ed2ebedb1f893da37eef6b9d254f9262fe06e90c859f0149d0108bfe50e1a48685d3203f8b2c84a310c0a4b1
7
+ data.tar.gz: 2eb5e48a44c97adc37a159c8255162d5a8926f09700cf7782094b4068159758a2c1a4f97fd2af66b0c0e393b40958952521dae62bdb6bfc67dac924bf7b36627
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,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strongmind-platform-sdk (3.8.0)
4
+ strongmind-platform-sdk (3.9.0)
5
5
  aws-sdk-secretsmanager (~> 1.66)
6
6
  devise
7
7
  faraday (~> 2.5, >= 2.5.2)
@@ -41,14 +41,14 @@ GEM
41
41
  ast (2.4.2)
42
42
  attr_required (1.0.2)
43
43
  aws-eventstream (1.3.0)
44
- aws-partitions (1.877.0)
45
- aws-sdk-core (3.190.1)
44
+ aws-partitions (1.884.0)
45
+ aws-sdk-core (3.191.0)
46
46
  aws-eventstream (~> 1, >= 1.3.0)
47
47
  aws-partitions (~> 1, >= 1.651.0)
48
48
  aws-sigv4 (~> 1.8)
49
49
  jmespath (~> 1, >= 1.6.1)
50
- aws-sdk-secretsmanager (1.88.0)
51
- aws-sdk-core (~> 3, >= 3.188.0)
50
+ aws-sdk-secretsmanager (1.90.0)
51
+ aws-sdk-core (~> 3, >= 3.191.0)
52
52
  aws-sigv4 (~> 1.1)
53
53
  aws-sigv4 (1.8.0)
54
54
  aws-eventstream (~> 1, >= 1.0.2)
@@ -97,6 +97,8 @@ GEM
97
97
  faraday (~> 2.0)
98
98
  faraday-follow_redirects
99
99
  jwt (1.5.6)
100
+ learnosity-sdk (0.2.2)
101
+ sys-uname (>= 1.0)
100
102
  loofah (2.22.0)
101
103
  crass (~> 1.0.2)
102
104
  nokogiri (>= 1.12.0)
@@ -121,6 +123,10 @@ GEM
121
123
  nokogiri (1.16.0)
122
124
  mini_portile2 (~> 2.8.2)
123
125
  racc (~> 1.4)
126
+ nokogiri (1.16.0-x86_64-darwin)
127
+ racc (~> 1.4)
128
+ nokogiri (1.16.0-x86_64-linux)
129
+ racc (~> 1.4)
124
130
  omniauth (2.1.2)
125
131
  hashie (>= 3.4.6)
126
132
  rack (>= 2.2.3)
@@ -221,6 +227,8 @@ GEM
221
227
  attr_required (>= 0.0.5)
222
228
  faraday (~> 2.0)
223
229
  faraday-follow_redirects
230
+ sys-uname (1.2.3)
231
+ ffi (~> 1.1)
224
232
  thor (1.3.0)
225
233
  timeout (0.4.1)
226
234
  typhoeus (1.4.0)
@@ -251,6 +259,7 @@ DEPENDENCIES
251
259
  faraday
252
260
  faraday-retry
253
261
  jwt (~> 1.5, >= 1.5.4)
262
+ learnosity-sdk (~> 0.2.2)
254
263
  rake (~> 13.0)
255
264
  rspec (~> 3.6, >= 3.6.0)
256
265
  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.0"
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.0"
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.0
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
@@ -213,6 +213,8 @@ files:
213
213
  - lib/platform_sdk/id_mapper/models/domain.rb
214
214
  - lib/platform_sdk/identity.rb
215
215
  - lib/platform_sdk/identity/clients.rb
216
+ - lib/platform_sdk/learnosity_api.rb
217
+ - lib/platform_sdk/learnosity_api/client.rb
216
218
  - lib/platform_sdk/one_roster.rb
217
219
  - lib/platform_sdk/one_roster/client.rb
218
220
  - lib/platform_sdk/ops_genie.rb
@@ -228,6 +230,7 @@ files:
228
230
  - lib/platform_sdk/sentry.rb
229
231
  - lib/platform_sdk/version.rb
230
232
  - sig/platform_sdk/identity/auth_client.rbs
233
+ - sig/platform_sdk/learnosity_api/client.rbs
231
234
  - sig/platform_sdk/ops_genie/client.rbs
232
235
  - sig/platform_sdk/platform_sdk.rbs
233
236
  homepage: https://github.com/StrongMind/platform-ruby-sdk