magick-feature-flags 0.8.3 → 0.8.5

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: 407bbf89a969b1589e0b769323f1a763d5c369084dd5d5118939a99884d0ab9b
4
- data.tar.gz: 291b19cb1f6ce75088e137fad9c822c65c1e5f75bf0d7c6c0c42ef2017d350ef
3
+ metadata.gz: a62d079b6f68d6c2b207fe51bf1698fd7b79eca4e9eecd509b614f4a33ee78f2
4
+ data.tar.gz: 7b01eafa0b42fa5555cfa7356bc299a3bb5170a8065714707e68c0d13a8e16a6
5
5
  SHA512:
6
- metadata.gz: 7d92b8f1177df7033fdc281d5c3e57949a769e935c73b6341dff61eb2004719bc0bbb0ecbfc90b82304d767dfd96ca3566222c246fe99780e5cc212413b390ff
7
- data.tar.gz: 9f28aaa757a173ba43c91dd5703cda04663f7d9257c245e481474f36cf2aedbd2c68fb054e961e621b17f0a587f09ce69e63181e23f6821a4bfab8bb59645d00
6
+ metadata.gz: e93c25f079be5541256bd3c89389a8370edb0c8cd2789e85c2010d9e6f6e8e20b9bb0ca74e87a7c22c4bfb471a53d88cde64ea1570cc06f2439746ee07a0e621
7
+ data.tar.gz: 9297dcd89a4bcfb487f1fe550960f1d1984a7a5ac631c80cb0f417a9792dbeffa7b1832b2d02fd0f07408ff9ba8e539f0c1127a6677415f9e81c62957ffd34cd
@@ -24,6 +24,8 @@ module Magick
24
24
  validate_type!
25
25
  validate_default_value!
26
26
  load_from_adapter
27
+ # Save description and display_name to adapter if they were provided and not already in adapter
28
+ save_metadata_if_new
27
29
  end
28
30
 
29
31
  def enabled?(context = {})
@@ -420,6 +422,7 @@ module Magick
420
422
  registered = Magick.features[name]
421
423
  registered.instance_variable_set(:@stored_value, @stored_value)
422
424
  registered.instance_variable_set(:@status, @status)
425
+ registered.instance_variable_set(:@description, @description)
423
426
  registered.instance_variable_set(:@display_name, @display_name)
424
427
  registered.instance_variable_set(:@targeting, @targeting.dup)
425
428
  end
@@ -455,8 +458,15 @@ module Magick
455
458
  @stored_value = load_value_from_adapter
456
459
  status_value = adapter_registry.get(name, 'status')
457
460
  @status = status_value ? status_value.to_sym : status
461
+
462
+ # Load description from adapter (override initial value if present in adapter)
463
+ description_value = adapter_registry.get(name, 'description')
464
+ @description = description_value if description_value
465
+
466
+ # Load display_name from adapter (override initial value if present in adapter)
458
467
  display_name_value = adapter_registry.get(name, 'display_name')
459
468
  @display_name = display_name_value if display_name_value
469
+
460
470
  targeting_value = adapter_registry.get(name, 'targeting')
461
471
  if targeting_value.is_a?(Hash)
462
472
  # Normalize keys to symbols and handle nested structures
@@ -469,6 +479,17 @@ module Magick
469
479
  end
470
480
  end
471
481
 
482
+ def save_metadata_if_new
483
+ # Save description and display_name to adapter if they were provided in options
484
+ # but don't exist in adapter yet (to avoid overwriting existing values)
485
+ if @description && !adapter_registry.get(name, 'description')
486
+ adapter_registry.set(name, 'description', @description)
487
+ end
488
+ if @display_name && !adapter_registry.get(name, 'display_name')
489
+ adapter_registry.set(name, 'display_name', @display_name)
490
+ end
491
+ end
492
+
472
493
  def load_value_from_adapter
473
494
  value = adapter_registry.get(name, 'value')
474
495
  return nil if value.nil?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '0.8.3'
4
+ VERSION = '0.8.5'
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.3
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Lobanov