unleash 6.1.2 → 6.2.0.pre.alpha.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: 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: []