magick-feature-flags 0.9.1 → 0.9.3

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: cb4c8735b5c0df6cc7331ddd6cb4bec60b7557839dbe38087c61b5c3ac7a434e
4
- data.tar.gz: 1035c662c99663e07265a6e25f5cccfaa833057bac07b3dd7b9739f15916ece2
3
+ metadata.gz: bfff098bb1fa4ba5e28d7b86b59eda158cb9e1b7149be23496178dc9196c07af
4
+ data.tar.gz: 26ba6fa53c9458414fc4a98658e0c5ca27dff438e922b462f12e4704c49edf91
5
5
  SHA512:
6
- metadata.gz: 5d42c95ef3ea3e5b2a96788970df810d18fc8bad3c73efb87dd6ec056a6eb1518d20bee97a3940faf302f432deb524b98529dd350bc0b2ed83796fcb78ffbd6c
7
- data.tar.gz: a0753994c42679b82438fe6d9b6f9a1d993b1efd151cf93a2a027ee23c1b8355945a62d32421aee55d8fecd61eb810b9638eb7d237b6fb9e4d10309905dbf9dc
6
+ metadata.gz: 90edea21a3b7746ac9600ae0394df31b11a6f9999766ece5354f83cf27f2ca266fc0f7ddc6f502bee7120dda4c38dbc7ff10ba574d8be384b7396927486ef8aa
7
+ data.tar.gz: ac2d52839931565733231f31d3e474d1bb1f83a4248cd46992405be5c1e86dfbff64456bdd21d16e2f2bf9e9ad12284245209112370de0de3a6de3c02e206713
@@ -378,6 +378,21 @@ module Magick
378
378
  end
379
379
 
380
380
  def enable(user_id: nil)
381
+ # Check if this feature is a dependency of any disabled features
382
+ # If a main feature that depends on this feature is disabled, prevent enabling this dependency
383
+ dependent_features = find_dependent_features
384
+ disabled_dependents = dependent_features.select do |dep_feature_name|
385
+ dep_feature = Magick.features[dep_feature_name.to_s] || Magick[dep_feature_name]
386
+ # Check if the dependent feature (main feature) is disabled
387
+ dep_feature && !dep_feature.enabled?
388
+ end
389
+
390
+ unless disabled_dependents.empty?
391
+ # Return false if any main feature that depends on this feature is disabled
392
+ # This prevents enabling a dependency when the main feature is disabled
393
+ return false
394
+ end
395
+
381
396
  # Clear all targeting to enable globally
382
397
  @targeting = {}
383
398
  save_targeting
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '0.9.1'
4
+ VERSION = '0.9.3'
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.9.1
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Lobanov