arturo 2.5.4 → 2.7.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: ceaf568b4219c17d2daafbaf7221ab121e9cdf29d7d6189f81d99154e78e642b
4
- data.tar.gz: 2ed07d8ebba4efeddf7b35711aca46ed89f0caa7c043f6ac15b10a1803f0b716
3
+ metadata.gz: 43ea277890e8d8b263fb57f7208854a0381f07cd2fa2337654a51a8e57f197da
4
+ data.tar.gz: 8c7e1982c057130e4c3355b800544509950b9b59d9999a4e074def5090258149
5
5
  SHA512:
6
- metadata.gz: f89ce73cf2a3a3ccd4652c8e469ea1eb884da3d6c5d436ae9afc3dae828bad36cca805189784c082d09a56af1d3e642103e4cd0097f2a868238ff80d597d34f4
7
- data.tar.gz: 3384b7619074ad58df2232e1a210ecbe1008f68d11918a37bc6ed78156df2fc5065dceb73c624f9894f2bd7a90811107b4fd254bd7f09c6d1d8c89d8408699e3
6
+ metadata.gz: b4d9610fdb2f0d77c64242554efc5677966b3a8e5fa190a3aec1de71505a3ec139b66279bcce0afea0213600a985437111df374624fd1ac9efd9201a70395dc3
7
+ data.tar.gz: 95105335029a0af725059b8f0528e42e02737cf4f728b439e7ef1d35051fad6270d4053583d3919a5e29877633975a3cb9019f3f5c028f377054a8ee652287fa
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## Unreleased
2
2
 
3
+ ## v2.7.0
4
+
5
+ Adds ability to register cache update listeners with Arturo::FeatureCaching::AllStrategy that are called when the cache is updated
6
+
7
+ ## v2.6.0
8
+
9
+ Add support for Rails 7.0
10
+
11
+ Add support for Ruby 3.0 & 3.1
12
+
13
+ Drop support for Rails 4.2
14
+
15
+ Drop support for Ruby 2.4 & 2.5
16
+
3
17
  ## v2.5.4
4
18
 
5
19
  Bug fix: Explicitly require rails engine to avoid errors that ::Rails::Engine cannot be found.
@@ -14,7 +14,6 @@ module Arturo
14
14
  include Arturo::FeatureManagement
15
15
  include Arturo::FeatureParamsSupport
16
16
 
17
- unloadable
18
17
  respond_to :html, :json, :xml
19
18
 
20
19
  if respond_to?(:before_action)
@@ -14,7 +14,7 @@ module Arturo
14
14
  end
15
15
 
16
16
  def on_feature_disabled(feature_name)
17
- render (Rails::VERSION::MAJOR < 5 ? :text : :plain) => 'Forbidden', :status => 403
17
+ render :plain => 'Forbidden', :status => 403
18
18
  end
19
19
 
20
20
  module ClassMethods
@@ -85,8 +85,16 @@ module Arturo
85
85
  cache.delete("arturo.all")
86
86
  end
87
87
 
88
+ def register_cache_update_listener(&block)
89
+ cache_update_listeners << block
90
+ end
91
+
88
92
  private
89
93
 
94
+ def cache_update_listeners
95
+ @cache_update_listeners ||= []
96
+ end
97
+
90
98
  ##
91
99
  # @param fallback [Hash] features to use on database failure
92
100
  # @return [Hash] updated features from origin or fallback
@@ -166,6 +174,7 @@ module Arturo
166
174
  def update_and_extend_cache!(cache, features)
167
175
  mark_as_current!(cache)
168
176
  cache.write("arturo.all", features, expires_in: Arturo::Feature.cache_ttl * 10)
177
+ cache_update_listeners.each(&:call)
169
178
  end
170
179
  end
171
180
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Arturo
3
- VERSION = '2.5.4'
3
+ VERSION = '2.7.0'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arturo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.4
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2023-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
19
+ version: '5.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.2'
22
+ version: '7.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '4.2'
29
+ version: '5.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.2'
32
+ version: '7.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rails
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '4.2'
39
+ version: '5.0'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '6.2'
42
+ version: '7.1'
43
43
  type: :development
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '4.2'
49
+ version: '5.0'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '6.2'
52
+ version: '7.1'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: sqlite3
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -177,14 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: '2.1'
180
+ version: '2.6'
181
181
  required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  requirements:
183
183
  - - ">="
184
184
  - !ruby/object:Gem::Version
185
185
  version: '0'
186
186
  requirements: []
187
- rubygems_version: 3.0.3
187
+ rubygems_version: 3.0.3.1
188
188
  signing_key:
189
189
  specification_version: 4
190
190
  summary: Feature sliders, wrapped up in an engine