ultra_settings 2.4.0 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90728a492b4f4d48193caf10b5a963160b9ff01e6e084541eb571ac3776ddf72
4
- data.tar.gz: 98d035433486540669bd8a68d64e1c1f236a35a09567c77bfb59322ae538d94d
3
+ metadata.gz: c4d6c86b8bbf3af68e92cc311d50ba5a10c72479b466047b6789b0bdd5aae566
4
+ data.tar.gz: af86a79d963a42b66b870706a7e47a025b03b59365b63354faec5003f2839087
5
5
  SHA512:
6
- metadata.gz: 154b003680b751f2137696ed7b7e489c8cd8c205f002c89a45f61ad25dd7c2c44151cd3e67bb64df4438b0cb08056b295f25da4ad4333340bbd6e5817bba64dc
7
- data.tar.gz: 558fd5cbbf34f9dda4b9ec93d49bb13b1123291a1bdea625fdb4e314c76d28b0b8f63c12655ab86afbe77a63c72349c719c5d547ace4e5d927093876f4938607
6
+ metadata.gz: 106b3a42b408d389b59b759e9639f38ae10a538aec7046d37d496373483a33174a2505bc44c8c012e14f39a7215358b7863487fbc209f68bce8b132258aa9624
7
+ data.tar.gz: 5044a165b1129aba0c2678f0e9f9fe53e75516a37f50cc76d2c134850f37e38e81d56d53864ba980c3cbd36c704141f0a7434e371eb7210bef0d4f601640611c
data/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 2.4.1
8
+
9
+ ### Changed
10
+
11
+ - Ignore base configuration classes that don't have any fields defined in the web UI.
12
+ - Allow overriding values on static fields in tests.
13
+ - Changed Web UI CSS variable scope to apply to all application elements.
14
+
7
15
  ## 2.4.0
8
16
 
9
17
  ### Added
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.4.0
1
+ 2.4.1
data/app/application.css CHANGED
@@ -62,4 +62,4 @@
62
62
  -webkit-appearance: none;
63
63
  -moz-appearance: none;
64
64
  appearance: none;
65
- }
65
+ }
@@ -1,5 +1,5 @@
1
1
  <% unless color_scheme == :dark %>
2
- .ultra-settings-configuration {
2
+ .ultra-settings {
3
3
  --table-header-bg-color: #fff;
4
4
  --table-border-color: #dee2e6;
5
5
  --alt-row-color: rgba(0, 0, 0, .05);
@@ -15,7 +15,7 @@
15
15
  @media (prefers-color-scheme: dark) {
16
16
  <% end %>
17
17
  <% if color_scheme == :system || color_scheme == :dark %>
18
- .ultra-settings-configuration {
18
+ .ultra-settings {
19
19
  --table-header-bg-color: #333;
20
20
  --table-border-color: #555;
21
21
  --alt-row-color: rgba(0, 0, 0, .30);
data/app/index.html.erb CHANGED
@@ -1,20 +1,26 @@
1
- <div class="ultra-settings-nav">
2
- <form onsubmit="return false" style="margin-bottom: 0.5rem;">
3
- <select class="<%= html_escape(select_class) %>" size="1" id="config-selector">
4
- <% UltraSettings.__configuration_names__.sort.each do |name| %>
5
- <option value="config-<%= html_escape(name) %>"><%= html_escape(UltraSettings.send(name).class.name) %></option>
6
- <% end %>
7
- </select>
8
- </form>
9
- </div>
10
-
11
- <% UltraSettings.__configuration_names__.sort.each do |name| %>
12
- <% configuration = UltraSettings.send(name) %>
1
+ <div class="ultra-settings">
2
+ <div class="ultra-settings-nav">
3
+ <form onsubmit="return false" style="margin-bottom: 0.5rem;">
4
+ <select class="<%= html_escape(select_class) %>" size="1" id="config-selector">
5
+ <% UltraSettings.__configuration_names__.sort.each do |name| %>
6
+ <% configuration = UltraSettings.send(name) %>
7
+ <% next if configuration.class.fields.empty? %>
13
8
 
14
- <div class="ultra-settings-configuration" id="config-<%= html_escape(name) %>" style="display:none;">
15
- <%= UltraSettings::ConfigurationView.new(configuration).render(table_class: table_class) %>
9
+ <option value="config-<%= html_escape(name) %>"><%= html_escape(UltraSettings.send(name).class.name) %></option>
10
+ <% end %>
11
+ </select>
12
+ </form>
16
13
  </div>
17
- <% end %>
14
+
15
+ <% UltraSettings.__configuration_names__.sort.each do |name| %>
16
+ <% configuration = UltraSettings.send(name) %>
17
+ <% next if configuration.class.fields.empty? %>
18
+
19
+ <div class="ultra-settings-configuration" id="config-<%= html_escape(name) %>" style="display:none;">
20
+ <%= UltraSettings::ConfigurationView.new(configuration).render(table_class: table_class) %>
21
+ </div>
22
+ <% end %>
23
+ </div>
18
24
 
19
25
  <script>
20
26
  <%= javascript %>
@@ -533,11 +533,14 @@ module UltraSettings
533
533
  field = self.class.send(:defined_fields)[name]
534
534
  return nil unless field
535
535
 
536
- if field.static? && @ultra_settings_memoized_values.include?(name)
536
+ use_override = @ultra_settings_override_values[Thread.current.object_id]&.include?(name)
537
+
538
+ if field.static? && !use_override && @ultra_settings_memoized_values.include?(name)
537
539
  return @ultra_settings_memoized_values[name]
538
540
  end
539
541
 
540
- if @ultra_settings_override_values[Thread.current.object_id]&.include?(name)
542
+ value = nil
543
+ if use_override
541
544
  value = field.coerce(@ultra_settings_override_values[Thread.current.object_id][name])
542
545
  else
543
546
  env = ENV if field.env_var
@@ -551,7 +554,7 @@ module UltraSettings
551
554
  value = field.default
552
555
  end
553
556
 
554
- if field.static?
557
+ if field.static? && !use_override
555
558
  @ultra_settings_mutex.synchronize do
556
559
  if @ultra_settings_memoized_values.include?(name)
557
560
  value = @ultra_settings_memoized_values[name]
@@ -68,7 +68,7 @@ module UltraSettings
68
68
  else
69
69
  "Value: #{display_value(value)}"
70
70
  end
71
- "<dfn title=\"#{html_escape(title)}\">#{html_escape(label)}</dfn>"
71
+ "<dfn style=\"text-decoration: underline dotted;\" title=\"#{html_escape(title)}\">#{html_escape(label)}</dfn>"
72
72
  end
73
73
 
74
74
  def secret_value(value)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultra_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Durand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-18 00:00:00.000000000 Z
11
+ date: 2024-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler