magick-feature-flags 0.8.6 → 0.8.7

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: 92b5a4b913e87e53dc5c98b88d86ebaa7ea2d2bdf8434da373846f1c11a77d1f
4
- data.tar.gz: 39cd2f51130d3bbd1ecc15760d5352c93b5fb2e06622ed1426f366443d157e8f
3
+ metadata.gz: 2ab8236f8c928279337c89be2c15f6ff413c6f33f3bbd2d2489eb9344d93b546
4
+ data.tar.gz: 14bc44e42dc9429441b504c81fe0b076f947c0638d2e55a590a0743bf75822e8
5
5
  SHA512:
6
- metadata.gz: 2786314abef311c89157aa037b7275dbea5ab5748d27795191b211dab1200fa6ee26473ade2fba66fc4569f831e49e5fcbae46d162a364434b5fe711e90beb50
7
- data.tar.gz: a4bc99cd3aac2c007d845ffe92092ef0c64c30cc3d690283834fe44bd294d32bb155813bffe1dfa6deea9bc62019aac26fbbce16fa6974c676f5668315fced54
6
+ metadata.gz: e346d563053b3adb3acc9fed5bcd8b085b064be393a6cc1303435ff592a69f7987261baf9383f82ca5a46667f89de0c0dcecc5d01708fc972616ecd042dc54cc
7
+ data.tar.gz: 8ad9c0b56690511dc1709721248875a474e0ab521dd8d98ce63e80aedbec8e4993eb88be099b01cac82ad41096aba4eae2b40a06bd6840fd15d805f102282585
@@ -325,7 +325,11 @@ module Magick
325
325
  @stored_value = value
326
326
 
327
327
  # Update registered feature instance if it exists
328
- Magick.features[name].instance_variable_set(:@stored_value, value) if Magick.features.key?(name)
328
+ if Magick.features.key?(name)
329
+ registered = Magick.features[name]
330
+ registered.instance_variable_set(:@stored_value, value)
331
+ registered.instance_variable_set(:@targeting, @targeting.dup) if @targeting
332
+ end
329
333
 
330
334
  changes = { value: { from: old_value, to: value } }
331
335
 
@@ -386,6 +390,12 @@ module Magick
386
390
  raise InvalidFeatureValueError, "Cannot disable feature of type #{type}"
387
391
  end
388
392
 
393
+ # Ensure registered feature instance also has targeting cleared
394
+ if Magick.features.key?(name)
395
+ registered = Magick.features[name]
396
+ registered.instance_variable_set(:@targeting, {})
397
+ end
398
+
389
399
  # Cascade disable: disable all features that depend on this one
390
400
  disable_dependent_features(user_id: user_id)
391
401
 
@@ -485,9 +495,9 @@ module Magick
485
495
  if @description && !adapter_registry.get(name, 'description')
486
496
  adapter_registry.set(name, 'description', @description)
487
497
  end
488
- if @display_name && !adapter_registry.get(name, 'display_name')
489
- adapter_registry.set(name, 'display_name', @display_name)
490
- end
498
+ return unless @display_name && !adapter_registry.get(name, 'display_name')
499
+
500
+ adapter_registry.set(name, 'display_name', @display_name)
491
501
  end
492
502
 
493
503
  def load_value_from_adapter
@@ -720,9 +730,7 @@ module Magick
720
730
  dependent_features = []
721
731
  Magick.features.each do |_name, feature|
722
732
  feature_deps = feature.instance_variable_get(:@dependencies) || []
723
- if feature_deps.include?(name.to_s) || feature_deps.include?(name.to_sym)
724
- dependent_features << feature.name
725
- end
733
+ dependent_features << feature.name if feature_deps.include?(name.to_s) || feature_deps.include?(name.to_sym)
726
734
  end
727
735
  dependent_features
728
736
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '0.8.6'
4
+ VERSION = '0.8.7'
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.6
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Lobanov