zaikio-hub 0.9.1 → 0.10.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: 3cb7e370ad9b9dbb15d7e6637293d95f33cefc3d48b255aafd1d88f9607f77fc
4
- data.tar.gz: 995f65525b2baf40b34c2cc8d7eaf1685e201a7fbca67fc3834189140b822ca2
3
+ metadata.gz: e6de6ed1ed5cb7442b72ffa036df6de0cf7f371d59d52018b4458850b7e71848
4
+ data.tar.gz: 5dc770e601267c847094fdb07875651529ec14458676c5d5be558af9c0d15c39
5
5
  SHA512:
6
- metadata.gz: ca9c4d829d55480f69cfa5b619d8d471486ac15ad1b5a8bc4aa9c4b2ada5508948be81b82ef0ce309c21d09d427d604c0352add0309d2f08f5ea5fd09a268fc0
7
- data.tar.gz: 0a5f4048cdf0b65e5f42cae0e4da1c18ed5fe7d73232b098956de8cbad736f4fde4998abce70d14e54992213d9a3dd5a54a5dcf3d60835b40f76cdcc313e766a
6
+ metadata.gz: 2b168642b4f8c6ac5607602a7e2237224e98fe52b4991c3f06b3a61591eeeacb6a6d76a60f63acaa272fe55cb9ee43f42f0a7aea871a3eeca7a2a770abc5f8ae
7
+ data.tar.gz: 4aca04231bccaf9dc4d85ebf752ef4663f365cc7bc788a8b55d979983047e4eb78e3978bf2bd28ef274186f7408ce2d5288941b08e4bdb40329ed6468ab000dc
data/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.10.0] - 2022-08-15
11
+
12
+ * Update `zaikio-client-helpers` and reuse logic to use `Zaikio::Client.with_token`
13
+
10
14
  ## [0.9.1] - 2022-01-05
11
15
 
12
16
  * Fix warning about redefined methods in BasicAuthMiddleware
@@ -1,3 +1,5 @@
1
+ require "jwt"
2
+
1
3
  module Zaikio
2
4
  module Hub
3
5
  class RequestWrapper
@@ -2,38 +2,15 @@ require "logger"
2
2
 
3
3
  module Zaikio
4
4
  module Hub
5
- class Configuration
6
- HOSTS = {
7
- development: "https://hub.zaikio.test",
8
- test: "https://hub.zaikio.test",
9
- staging: "https://hub.staging.zaikio.com",
10
- sandbox: "https://hub.sandbox.zaikio.com",
11
- production: "https://hub.zaikio.com"
12
- }.freeze
13
-
14
- attr_accessor :host
15
- attr_reader :environment
16
- attr_writer :logger
17
-
18
- def initialize
19
- @environment = :sandbox
20
- end
21
-
22
- def logger
23
- @logger ||= Logger.new($stdout)
24
- end
25
-
26
- def environment=(env)
27
- @environment = env.to_sym
28
- @host = host_for(environment)
29
- end
30
-
31
- private
32
-
33
- def host_for(environment)
34
- HOSTS.fetch(environment) do
35
- raise StandardError.new, "Invalid Zaikio::Hub environment '#{environment}'"
36
- end
5
+ class Configuration < Zaikio::Client::Helpers::Configuration
6
+ def self.hosts
7
+ {
8
+ development: "https://hub.zaikio.test/api/v1",
9
+ test: "https://hub.zaikio.test/api/v1",
10
+ staging: "https://hub.staging.zaikio.com/api/v1",
11
+ sandbox: "https://hub.sandbox.zaikio.com/api/v1",
12
+ production: "https://hub.zaikio.com/api/v1"
13
+ }.freeze
37
14
  end
38
15
  end
39
16
  end
@@ -1,5 +1,5 @@
1
1
  module Zaikio
2
2
  module Hub
3
- VERSION = "0.9.1".freeze
3
+ VERSION = "0.10.0".freeze
4
4
  end
5
5
  end
data/lib/zaikio/hub.rb CHANGED
@@ -3,7 +3,6 @@ require "spyke"
3
3
  require "zaikio-client-helpers"
4
4
 
5
5
  require "zaikio/hub/configuration"
6
- require "zaikio/hub/authorization_middleware"
7
6
  require "zaikio/hub/basic_auth_middleware"
8
7
 
9
8
  # Models
@@ -44,11 +43,8 @@ module Zaikio
44
43
  Base.connection = create_connection
45
44
  end
46
45
 
47
- def with_token(token)
48
- AuthorizationMiddleware.token = token
49
- yield
50
- ensure
51
- AuthorizationMiddleware.reset_token
46
+ def with_token(token, &block)
47
+ Zaikio::Client.with_token(token, &block)
52
48
  end
53
49
 
54
50
  def with_basic_auth(login, password)
@@ -59,23 +55,20 @@ module Zaikio
59
55
  end
60
56
 
61
57
  def current_token_data
62
- return unless AuthorizationMiddleware.token
58
+ return unless Zaikio::Client::Helpers::AuthorizationMiddleware.token
63
59
 
64
- payload = JWT.decode(AuthorizationMiddleware.token, nil, false).first
60
+ payload = JWT.decode(
61
+ Zaikio::Client::Helpers::AuthorizationMiddleware.token,
62
+ nil,
63
+ false
64
+ ).first
65
65
 
66
66
  create_token_data(payload)
67
67
  end
68
68
 
69
69
  def create_connection
70
- self.connection = Faraday.new(url: "#{configuration.host}/api/v1",
71
- ssl: { verify: configuration.environment != :test }) do |c|
72
- c.request :json
73
- c.response :logger, configuration&.logger, headers: false
74
- c.use Zaikio::Client::Helpers::Pagination::FaradayMiddleware
75
- c.use Zaikio::Client::Helpers::JSONParser
76
- c.use AuthorizationMiddleware
77
- c.use BasicAuthMiddleware
78
- c.adapter Faraday.default_adapter
70
+ self.connection = Zaikio::Client.create_connection(configuration).tap do |c|
71
+ c.use BasicAuthMiddleware
79
72
  end
80
73
  end
81
74
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zaikio-hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - crispymtn
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-01-05 00:00:00.000000000 Z
13
+ date: 2022-08-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: concurrent-ruby
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: 2.2.1
36
36
  - - "<"
37
37
  - !ruby/object:Gem::Version
38
- version: 2.4.0
38
+ version: 2.5.0
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: 2.2.1
46
46
  - - "<"
47
47
  - !ruby/object:Gem::Version
48
- version: 2.4.0
48
+ version: 2.5.0
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: multi_json
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -112,14 +112,14 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '0.2'
115
+ version: '0.3'
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: '0.2'
122
+ version: '0.3'
123
123
  description: Ruby API Client for Zaikio's Hub
124
124
  email:
125
125
  - op@crispymtn.com
@@ -137,7 +137,6 @@ files:
137
137
  - lib/zaikio/hub/address.rb
138
138
  - lib/zaikio/hub/app.rb
139
139
  - lib/zaikio/hub/asset.rb
140
- - lib/zaikio/hub/authorization_middleware.rb
141
140
  - lib/zaikio/hub/base.rb
142
141
  - lib/zaikio/hub/basic_auth_middleware.rb
143
142
  - lib/zaikio/hub/business_relationship.rb
@@ -1,32 +0,0 @@
1
- require "faraday"
2
- require "jwt"
3
- require "concurrent"
4
-
5
- module Zaikio
6
- module Hub
7
- class AuthorizationMiddleware < Faraday::Middleware
8
- def self.token
9
- @token ||= Concurrent::ThreadLocalVar.new { nil }
10
- @token.value
11
- end
12
-
13
- def self.token=(value)
14
- @token ||= Concurrent::ThreadLocalVar.new { nil }
15
- @token.value = value
16
- end
17
-
18
- def self.reset_token
19
- self.token = nil
20
- end
21
-
22
- def call(request_env)
23
- if self.class.token
24
- request_env[:request_headers]["Authorization"] = "Bearer #{self.class.token}"
25
- end
26
-
27
- @app.call(request_env).on_complete do |response_env|
28
- end
29
- end
30
- end
31
- end
32
- end