magick-feature-flags 0.8.5 → 0.8.6

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: a62d079b6f68d6c2b207fe51bf1698fd7b79eca4e9eecd509b614f4a33ee78f2
4
- data.tar.gz: 7b01eafa0b42fa5555cfa7356bc299a3bb5170a8065714707e68c0d13a8e16a6
3
+ metadata.gz: 92b5a4b913e87e53dc5c98b88d86ebaa7ea2d2bdf8434da373846f1c11a77d1f
4
+ data.tar.gz: 39cd2f51130d3bbd1ecc15760d5352c93b5fb2e06622ed1426f366443d157e8f
5
5
  SHA512:
6
- metadata.gz: e93c25f079be5541256bd3c89389a8370edb0c8cd2789e85c2010d9e6f6e8e20b9bb0ca74e87a7c22c4bfb471a53d88cde64ea1570cc06f2439746ee07a0e621
7
- data.tar.gz: 9297dcd89a4bcfb487f1fe550960f1d1984a7a5ac631c80cb0f417a9792dbeffa7b1832b2d02fd0f07408ff9ba8e539f0c1127a6677415f9e81c62957ffd34cd
6
+ metadata.gz: 2786314abef311c89157aa037b7275dbea5ab5748d27795191b211dab1200fa6ee26473ade2fba66fc4569f831e49e5fcbae46d162a364434b5fe711e90beb50
7
+ data.tar.gz: a4bc99cd3aac2c007d845ffe92092ef0c64c30cc3d690283834fe44bd294d32bb155813bffe1dfa6deea9bc62019aac26fbbce16fa6974c676f5668315fced54
@@ -689,14 +689,28 @@ module Magick
689
689
  # Find all features that depend on this feature
690
690
  dependent_features = find_dependent_features
691
691
 
692
- # Disable each dependent feature
692
+ # Disable each dependent feature by setting value directly (avoid recursion)
693
693
  dependent_features.each do |dep_feature_name|
694
694
  dep_feature = Magick.features[dep_feature_name.to_s] || Magick[dep_feature_name]
695
695
  next unless dep_feature
696
696
 
697
- # Only disable if it's currently enabled (to avoid unnecessary operations)
698
- if dep_feature.enabled?
699
- dep_feature.disable(user_id: user_id)
697
+ # Set value directly to avoid recursive disable calls
698
+ # Clear targeting and set value to false/empty/0 based on type
699
+ dep_feature.instance_variable_set(:@targeting, {})
700
+ dep_feature.save_targeting
701
+
702
+ case dep_feature.type
703
+ when :boolean
704
+ dep_feature.set_value(false, user_id: user_id)
705
+ when :string
706
+ dep_feature.set_value('', user_id: user_id)
707
+ when :number
708
+ dep_feature.set_value(0, user_id: user_id)
709
+ end
710
+
711
+ # Rails 8+ event
712
+ if defined?(Magick::Rails::Events) && Magick::Rails::Events.rails8?
713
+ Magick::Rails::Events.feature_disabled_globally(dep_feature_name, user_id: user_id)
700
714
  end
701
715
  end
702
716
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '0.8.5'
4
+ VERSION = '0.8.6'
5
5
  end
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.8.5
4
+ version: 0.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Lobanov