strongmind-platform-sdk 3.0.0 → 3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af0bb9bb301d3ac21ab8b51699c2b55acda385db50d9b40da2f98369c2d1fb03
4
- data.tar.gz: 0acb9f790fb2385dd132f0c83da3210285c60320fe471b6d728b2490239de3f3
3
+ metadata.gz: a6b27963ad4b935166f36fdde29ed3ec509a719b04ba8180d7ca0f8dabf1b28e
4
+ data.tar.gz: f958e112abf2ab7da82e158264a3fc4e4208728787f36f70124accc62498989e
5
5
  SHA512:
6
- metadata.gz: 8becc23e5879eb0c645cd15b3b4780831f09337e8f01d40573abb2e5f0756ca7cfb75bc3cebd6c865995a81e8e13a928ebcdbc9339ae6e2cce18dfb25e8a6110
7
- data.tar.gz: 336cefee6f259e50f5efef3b4d86ecb6f3778cfa3427043f86a8d5bbbebb7f2f49d59bdd652f2441b3c357cc649e1688df30c32c8c3eea6a4551d1b624ba4b80
6
+ metadata.gz: 98d5841fe9b7073bfe28f897bf60d902351949736a5960a5de3c53ef5c144fd9b99355842ae86f26c560417ebdd33922404c423b2c1f5605c8225cad155968ac
7
+ data.tar.gz: b21f35fa99b96294ec5d24a3aa780b68f5d6439c8c3d65500d5bfd2528d29a322c3f02a6c9083e8f8faa93eec07b586dd725d079bd3cf6237b4f51ddfa14df8e
data/Gemfile CHANGED
@@ -10,6 +10,9 @@ gemspec
10
10
 
11
11
  gem "factory_bot"
12
12
  gem "faker"
13
+ gem "faraday"
14
+ gem "faraday-net_http"
15
+ gem "faraday-retry"
13
16
  gem "jwt", "~> 1.5", ">= 1.5.4"
14
17
  gem "rake", "~> 13.0"
15
18
  gem "rspec", "~> 3.6", ">= 3.6.0"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strongmind-platform-sdk (3.0.0)
4
+ strongmind-platform-sdk (3.1.0)
5
5
  aws-sdk-secretsmanager (~> 1.66)
6
6
  devise
7
7
  faraday (~> 2.5, >= 2.5.2)
@@ -38,16 +38,16 @@ GEM
38
38
  ast (2.4.2)
39
39
  attr_required (1.0.1)
40
40
  aws-eventstream (1.2.0)
41
- aws-partitions (1.781.0)
42
- aws-sdk-core (3.175.0)
41
+ aws-partitions (1.805.0)
42
+ aws-sdk-core (3.180.3)
43
43
  aws-eventstream (~> 1, >= 1.0.2)
44
44
  aws-partitions (~> 1, >= 1.651.0)
45
45
  aws-sigv4 (~> 1.5)
46
46
  jmespath (~> 1, >= 1.6.1)
47
- aws-sdk-secretsmanager (1.77.0)
48
- aws-sdk-core (~> 3, >= 3.174.0)
47
+ aws-sdk-secretsmanager (1.82.0)
48
+ aws-sdk-core (~> 3, >= 3.177.0)
49
49
  aws-sigv4 (~> 1.1)
50
- aws-sigv4 (1.5.2)
50
+ aws-sigv4 (1.6.0)
51
51
  aws-eventstream (~> 1, >= 1.0.2)
52
52
  bcrypt (3.1.19)
53
53
  bindata (2.4.15)
@@ -75,6 +75,8 @@ GEM
75
75
  faraday-follow_redirects (0.3.0)
76
76
  faraday (>= 1, < 3)
77
77
  faraday-net_http (3.0.2)
78
+ faraday-retry (2.1.0)
79
+ faraday (~> 2.0)
78
80
  ffi (1.15.5)
79
81
  hashie (5.0.0)
80
82
  i18n (1.13.0)
@@ -97,10 +99,10 @@ GEM
97
99
  net-pop
98
100
  net-smtp
99
101
  method_source (1.0.0)
100
- mini_mime (1.1.2)
101
- mini_portile2 (2.8.2)
102
+ mini_mime (1.1.5)
103
+ mini_portile2 (2.8.4)
102
104
  minitest (5.18.0)
103
- net-imap (0.3.6)
105
+ net-imap (0.3.7)
104
106
  date
105
107
  net-protocol
106
108
  net-pop (0.1.2)
@@ -139,9 +141,9 @@ GEM
139
141
  parallel (1.23.0)
140
142
  parser (3.2.2.1)
141
143
  ast (~> 2.4.1)
142
- public_suffix (5.0.1)
144
+ public_suffix (5.0.3)
143
145
  racc (1.7.1)
144
- rack (2.2.7)
146
+ rack (2.2.8)
145
147
  rack-oauth2 (2.2.0)
146
148
  activesupport
147
149
  attr_required
@@ -149,12 +151,13 @@ GEM
149
151
  faraday-follow_redirects
150
152
  json-jwt (>= 1.11.0)
151
153
  rack (>= 2.1.0)
152
- rack-protection (3.0.6)
153
- rack
154
+ rack-protection (3.1.0)
155
+ rack (~> 2.2, >= 2.2.4)
154
156
  rack-test (2.1.0)
155
157
  rack (>= 1.3)
156
- rails-dom-testing (2.0.3)
157
- activesupport (>= 4.2.0)
158
+ rails-dom-testing (2.2.0)
159
+ activesupport (>= 5.0.0)
160
+ minitest
158
161
  nokogiri (>= 1.6)
159
162
  rails-html-sanitizer (1.6.0)
160
163
  loofah (~> 2.21)
@@ -228,7 +231,7 @@ GEM
228
231
  activesupport
229
232
  faraday (~> 2.0)
230
233
  faraday-follow_redirects
231
- zeitwerk (2.6.8)
234
+ zeitwerk (2.6.11)
232
235
 
233
236
  PLATFORMS
234
237
  ruby
@@ -238,6 +241,9 @@ PLATFORMS
238
241
  DEPENDENCIES
239
242
  factory_bot
240
243
  faker
244
+ faraday
245
+ faraday-net_http
246
+ faraday-retry
241
247
  jwt (~> 1.5, >= 1.5.4)
242
248
  rake (~> 13.0)
243
249
  rspec (~> 3.6, >= 3.6.0)
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PlatformSdk
4
+ module DataPipeline
5
+ # DataPipeline::Client
6
+ class Client
7
+ attr_reader :credentials, :conn
8
+
9
+ def initialize(credentials)
10
+ @credentials = credentials
11
+
12
+ raise ArgumentError, "pipeline_host is required" if @credentials[:pipeline_host].nil?
13
+ raise ArgumentError, "pipeline_username is required" if @credentials[:pipeline_username].nil?
14
+ raise ArgumentError, "pipeline_password is required" if @credentials[:pipeline_password].nil?
15
+
16
+ @conn = Faraday.new(url: "https://#{@credentials[:pipeline_host]}") do |faraday|
17
+ faraday.request(:retry, retry_options)
18
+ faraday.request(:authorization, :basic, @credentials[:pipeline_username], @credentials[:pipeline_password])
19
+ faraday.headers = headers
20
+ faraday.adapter(:net_http)
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def headers
27
+ { "Content-Type" => "application/json" }
28
+ end
29
+
30
+ def retry_options
31
+ {
32
+ max: 3,
33
+ interval: 0.05,
34
+ interval_randomness: 0.5,
35
+ backoff_factor: 2
36
+ }
37
+ end
38
+
39
+ public
40
+
41
+ def post(message)
42
+ @conn.post("messages", message.to_json)
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "faraday"
4
+ require "faraday/net_http"
5
+ require "faraday/retry"
6
+
7
+ require "platform_sdk/data_pipeline/data_pipeline_client"
8
+
9
+ module PlatformSdk
10
+ module DataPipeline
11
+ class Error < StandardError; end
12
+
13
+
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlatformSdk
4
- VERSION = "3.0.0"
4
+ VERSION = "3.1.0"
5
5
  end
data/lib/platform_sdk.rb CHANGED
@@ -7,6 +7,7 @@ require "platform_sdk/power_school"
7
7
  require "platform_sdk/aws"
8
8
  require "platform_sdk/id_mapper"
9
9
  require "platform_sdk/edkey"
10
+ require "platform_sdk/data_pipeline"
10
11
 
11
12
  module PlatformSdk
12
13
  class Error < StandardError; 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.0.0
4
+ version: 3.1.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: 2023-07-20 00:00:00.000000000 Z
11
+ date: 2023-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -158,6 +158,8 @@ files:
158
158
  - lib/platform_sdk.rb
159
159
  - lib/platform_sdk/aws.rb
160
160
  - lib/platform_sdk/aws/secrets_manager_client.rb
161
+ - lib/platform_sdk/data_pipeline.rb
162
+ - lib/platform_sdk/data_pipeline/data_pipeline_client.rb
161
163
  - lib/platform_sdk/edkey.rb
162
164
  - lib/platform_sdk/edkey/client.rb
163
165
  - lib/platform_sdk/id_mapper.rb