magick-feature-flags 0.9.7 → 0.9.8

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: 015b9568cac92b03d1776240c7236cb395d15189eb496e03ac803979fef2d77d
4
- data.tar.gz: 3219b3349bb202775c883d7b977ca0dd8d64846625a524abbe858c6d51d9db43
3
+ metadata.gz: a7f546b5a885a633524d3b0c405e296621f00eaeabb7b65339160c5aa0911ead
4
+ data.tar.gz: 07af571d3fdba904c122c5e8996c58fcaac31d515bd955f57aa640d66373376b
5
5
  SHA512:
6
- metadata.gz: d93760f46cd383bc5b97f032a992fe4e0fc6e567d50985ab2544475805ffbb4545b105c8033a7aafb5a48149c1169ab7f87e6e70da58bcbfd2554a1935608bb3
7
- data.tar.gz: 19424a6172af8421a2041a4259f5474a4cffa7cf62cd03582b23f479374b7ca3a9aa56ca57f69e7facae4e372662d70abf80384456247d801ffd6eee141acd56
6
+ metadata.gz: 75608b0d581c01aa0a25a362bb45c6cdcb4e8b3ee0316663d1ec6e521b9af3099192d1e2a38fcc13ead9adb256c1fda09934fef749323fc7e94cbaa7daac7c3f
7
+ data.tar.gz: ca5643cbd9bdeffeb8c8e1116b4631c6bedde59c2bd050936a77b6bdece35fc67955608ecccba41a7eaaffe59da769a0b74c59f9cb57372fbd07b281c188b397
@@ -92,6 +92,11 @@ module Magick
92
92
  publish_cache_invalidation(feature_name)
93
93
  end
94
94
 
95
+ # Check if Redis adapter is available
96
+ def redis_available?
97
+ !redis_adapter.nil?
98
+ end
99
+
95
100
  private
96
101
 
97
102
  attr_reader :memory_adapter, :redis_adapter, :circuit_breaker
data/lib/magick/config.rb CHANGED
@@ -57,6 +57,7 @@ module Magick
57
57
  @performance_metrics.enable_redis_tracking(enable: false)
58
58
  end
59
59
  # If nil, will be auto-determined in apply! method
60
+ @performance_metrics
60
61
  end
61
62
 
62
63
  def audit_log(enabled: true, adapter: nil)
@@ -93,21 +94,23 @@ module Magick
93
94
  def apply!
94
95
  # Apply configuration to Magick module
95
96
  Magick.adapter_registry = adapter_registry if adapter_registry
96
- Magick.performance_metrics = performance_metrics if performance_metrics
97
- Magick.audit_log = audit_log if audit_log
98
- Magick.versioning = versioning if versioning
99
- Magick.warn_on_deprecated = warn_on_deprecated
100
97
 
101
- # Enable Redis tracking for performance metrics
102
- if Magick.performance_metrics
103
- # If redis_tracking was explicitly set, use that value
98
+ # Apply performance metrics (preserve redis_tracking setting)
99
+ if performance_metrics
100
+ Magick.performance_metrics = performance_metrics
101
+ # Re-apply redis_tracking setting after assignment (in case object was replaced)
104
102
  if defined?(@performance_metrics_redis_tracking) && !@performance_metrics_redis_tracking.nil?
105
103
  Magick.performance_metrics.enable_redis_tracking(enable: @performance_metrics_redis_tracking)
106
104
  # Otherwise, auto-enable if Redis adapter is configured
107
- elsif adapter_registry.is_a?(Adapters::Registry) && adapter_registry.redis_adapter
105
+ # Check Magick.adapter_registry (after it's been set) instead of local instance variable
106
+ elsif Magick.adapter_registry.is_a?(Adapters::Registry) && Magick.adapter_registry.redis_available?
108
107
  Magick.performance_metrics.enable_redis_tracking(enable: true)
109
108
  end
110
109
  end
110
+
111
+ Magick.audit_log = audit_log if audit_log
112
+ Magick.versioning = versioning if versioning
113
+ Magick.warn_on_deprecated = warn_on_deprecated
111
114
  end
112
115
 
113
116
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '0.9.7'
4
+ VERSION = '0.9.8'
5
5
  end
data/lib/magick.rb CHANGED
@@ -128,6 +128,14 @@ module Magick
128
128
  @versioning ||= Versioning.new(adapter_registry || default_adapter_registry)
129
129
  end
130
130
 
131
+ # Manually enable Redis tracking for performance metrics
132
+ # Useful if Redis adapter becomes available after initial configuration
133
+ def enable_redis_tracking(enable: true)
134
+ return unless performance_metrics
135
+
136
+ performance_metrics.enable_redis_tracking(enable: enable)
137
+ end
138
+
131
139
  # Get total usage count for a feature (combines memory and Redis counts)
132
140
  def feature_stats(feature_name)
133
141
  return {} unless performance_metrics
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magick-feature-flags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Lobanov