ultra_settings 2.4.0 → 2.4.2

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: 2675de07815b6ed0bdf20e8a94c6eef6cb9a8a54e98940a27a2b2997537e6e9e
4
+ data.tar.gz: b51695a82e8eb135da697e12271d81d705f7a915cc56c279ceb420de542b0234
5
5
  SHA512:
6
- metadata.gz: 154b003680b751f2137696ed7b7e489c8cd8c205f002c89a45f61ad25dd7c2c44151cd3e67bb64df4438b0cb08056b295f25da4ad4333340bbd6e5817bba64dc
7
- data.tar.gz: 558fd5cbbf34f9dda4b9ec93d49bb13b1123291a1bdea625fdb4e314c76d28b0b8f63c12655ab86afbe77a63c72349c719c5d547ace4e5d927093876f4938607
6
+ metadata.gz: 7755825b6e17372447237c99063eb87084c79e15317e80a76f0d6ec55d88931284c51143095bf3a87b2e3b4fc7b4d7e271223329ef19a6618f91033d7da67065
7
+ data.tar.gz: d660fec7954015f97433b2ff8446d3688381311b5f927c827c9dab7d0ec8c6311578ab0fec53f2794b09014d6b5659d0332dc684155541c3ac25702d4dda0124
data/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ 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.2
8
+
9
+ ### Changed
10
+
11
+ - Configuration setup set prior to loading the railtie will no longer be overridden by the railtie default setup.
12
+
13
+ ## 2.4.1
14
+
15
+ ### Changed
16
+
17
+ - Ignore base configuration classes that don't have any fields defined in the web UI.
18
+ - Allow overriding values on static fields in tests.
19
+ - Changed Web UI CSS variable scope to apply to all application elements.
20
+
7
21
  ## 2.4.0
8
22
 
9
23
  ### Added
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.4.0
1
+ 2.4.2
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)
@@ -7,11 +7,11 @@ module UltraSettings
7
7
  # `config.ultra_settings.auto_load_directories` option.
8
8
  class Railtie < Rails::Railtie
9
9
  config.ultra_settings = ActiveSupport::OrderedOptions.new
10
- config.ultra_settings.auto_load_directories = [File.join("app", "configurations")]
10
+ config.ultra_settings.auto_load_directories ||= [File.join("app", "configurations")]
11
11
 
12
12
  config.before_configuration do
13
- UltraSettings.yaml_config_env = Rails.env
14
- UltraSettings.yaml_config_path = Rails.root.join("config")
13
+ UltraSettings::Configuration.yaml_config_env ||= Rails.env
14
+ UltraSettings::Configuration.yaml_config_path ||= Rails.root.join("config")
15
15
  end
16
16
 
17
17
  # Automatically register any configuration classes in the app/configurations
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.2
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-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler