zaikio-hub 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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