unleash 6.1.2 → 6.2.0.pre.alpha.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: e6bd9703fdba109b3d5a0e22153ab9e04b25afb855641b955d02cee2d3a1cf9e
4
- data.tar.gz: 4df84602002a6968fe115ae490b463da9cfbbf7e2524f2bbaff1dc838cb9adf2
3
+ metadata.gz: ca383e29184fdeb10f44484d62dde23316ed5ab3b89ad6f7d2eb850de8757baf
4
+ data.tar.gz: eae509b1f931da507fff16a2e535d283790167cc3e0f1c0f2d49ed0ca8a4681c
5
5
  SHA512:
6
- metadata.gz: a9b8dcd7e176a3e7356a8b516f664ca24d7ac99e5b2d93f38e80ce2835417a7a5ab9e8b9c5e61433a5500889db23dcdbaa8b96f468bdebd55aa4235f045b3256
7
- data.tar.gz: f37909173947cf1e59840efc0449dd19e7a83b7b03aed69ccd875c2c9df7e926d72f845cdfebb6dd263d66265a3c90e882a4097d7d408e10ff86336246535e22
6
+ metadata.gz: b39b40d8929776c889bc2b4e96e4ecba8766636a01f041ef4d7468398c209d2b3604162d844ffdf40e7220db4deb4a493884bedf11bc84821694da676b057d05
7
+ data.tar.gz: b32e10c733a84d8d863b76d666ca24d09a2595f464024e9a4124aca2b4ba55689d9cd5b38b8829df4d1672673551442f9488872ed3b1d3999f75a81c2aa1c137
@@ -30,11 +30,15 @@ jobs:
30
30
  - windows
31
31
  ruby-version:
32
32
  - jruby-9.4
33
+ - 3.4
33
34
  - 3.3
34
35
  - 3.2
35
36
  - 3.1
36
37
  - '3.0'
37
38
  - 2.7
39
+ exclude:
40
+ - os: windows
41
+ ruby-version: jruby-9.4
38
42
 
39
43
  needs:
40
44
  - lint
data/README.md CHANGED
@@ -13,6 +13,7 @@ Ruby client for the [Unleash](https://github.com/Unleash/unleash) feature manage
13
13
 
14
14
  ## Supported Ruby interpreters
15
15
 
16
+ - MRI 3.4
16
17
  - MRI 3.3
17
18
  - MRI 3.2
18
19
  - MRI 3.1
@@ -25,7 +26,7 @@ Ruby client for the [Unleash](https://github.com/Unleash/unleash) feature manage
25
26
  Add this line to your application's Gemfile:
26
27
 
27
28
  ```ruby
28
- gem 'unleash', '~> 6.1.0'
29
+ gem 'unleash', '~> 6.1.2'
29
30
  ```
30
31
 
31
32
  And then execute:
@@ -21,7 +21,8 @@ module Unleash
21
21
  :logger,
22
22
  :log_level,
23
23
  :bootstrap_config,
24
- :strategies
24
+ :strategies,
25
+ :use_delta_api
25
26
 
26
27
  def initialize(opts = {})
27
28
  validate_custom_http_headers!(opts[:custom_http_headers]) if opts.has_key?(:custom_http_headers)
@@ -61,7 +62,15 @@ module Unleash
61
62
  end
62
63
 
63
64
  def fetch_toggles_uri
64
- uri = URI("#{self.url_stripped_of_slash}/client/features")
65
+ uri = nil
66
+ ## Personal feeling but Rubocop's suggestion here is too dense to be properly readable
67
+ # rubocop:disable Style/ConditionalAssignment
68
+ if self.use_delta_api
69
+ uri = URI("#{self.url_stripped_of_slash}/client/delta")
70
+ else
71
+ uri = URI("#{self.url_stripped_of_slash}/client/features")
72
+ end
73
+ # rubocop:enable Style/ConditionalAssignment
65
74
  uri.query = "project=#{self.project_name}" unless self.project_name.nil?
66
75
  uri
67
76
  end
@@ -100,6 +109,7 @@ module Unleash
100
109
  self.log_level = Logger::WARN
101
110
  self.bootstrap_config = nil
102
111
  self.strategies = Unleash::Strategies.new
112
+ self.use_delta_api = false
103
113
 
104
114
  self.custom_http_headers = {}
105
115
  @connection_id = SecureRandom.uuid
@@ -1,3 +1,3 @@
1
1
  module Unleash
2
- CLIENT_SPECIFICATION_VERSION = "5.1.9".freeze
2
+ CLIENT_SPECIFICATION_VERSION = "5.2.0".freeze
3
3
  end
@@ -43,7 +43,8 @@ module Unleash
43
43
  Unleash.logger.debug "No changes according to the unleash server, nothing to do."
44
44
  return
45
45
  elsif response.code != '200'
46
- raise IOError, "Unleash server returned a non 200/304 HTTP result."
46
+ raise IOError, "Unleash server returned unexpected HTTP response code #{response.code}."\
47
+ " Only handle response codes 200 (indicates changes) or 304 (no changes)."
47
48
  end
48
49
 
49
50
  self.etag = response['ETag']
@@ -81,6 +82,8 @@ module Unleash
81
82
 
82
83
  # notify all threads waiting for this resource to no longer wait
83
84
  self.toggle_resource.broadcast
85
+ rescue StandardError => e
86
+ Unleash.logger.error "Failed to hydrate state: #{e.backtrace}"
84
87
  end
85
88
 
86
89
  def read!
@@ -1,3 +1,3 @@
1
1
  module Unleash
2
- VERSION = "6.1.2".freeze
2
+ VERSION = "6.2.0-alpha.0".freeze
3
3
  end
@@ -23,7 +23,10 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
  spec.required_ruby_version = ">= 2.7"
25
25
 
26
- spec.add_dependency "yggdrasil-engine", "~> 1.0.1"
26
+ spec.add_dependency "yggdrasil-engine", "~> 1.0.3"
27
+
28
+ spec.add_dependency "base64", "~> 0.2.0"
29
+ spec.add_dependency "logger", "~> 1.6.5"
27
30
 
28
31
  spec.add_development_dependency "bundler", "~> 2.1"
29
32
  spec.add_development_dependency "rake", "~> 12.3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unleash
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.2
4
+ version: 6.2.0.pre.alpha.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renato Arruda
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-04 00:00:00.000000000 Z
11
+ date: 2025-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yggdrasil-engine
@@ -16,14 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.1
19
+ version: 1.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.1
26
+ version: 1.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: base64
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: logger
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.6.5
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.6.5
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: bundler
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +216,7 @@ homepage: https://github.com/unleash/unleash-client-ruby
188
216
  licenses:
189
217
  - Apache-2.0
190
218
  metadata: {}
191
- post_install_message:
219
+ post_install_message:
192
220
  rdoc_options: []
193
221
  require_paths:
194
222
  - lib
@@ -203,8 +231,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
231
  - !ruby/object:Gem::Version
204
232
  version: '0'
205
233
  requirements: []
206
- rubygems_version: 3.5.22
207
- signing_key:
234
+ rubygems_version: 3.5.6
235
+ signing_key:
208
236
  specification_version: 4
209
237
  summary: Unleash feature toggle client.
210
238
  test_files: []