system_settings 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/models/system_settings/configurator.rb +14 -5
- data/frontend/build/asset-manifest.json +3 -3
- data/frontend/build/index.html +1 -1
- data/frontend/build/{precache-manifest.0e020e029f3aadbe0b26621b84010585.js → precache-manifest.9a5e0d0daf376c08f5a7b80b49b88371.js} +6 -6
- data/frontend/build/service-worker.js +1 -1
- data/frontend/build/static/js/2.3891b1da.chunk.js +1 -0
- data/frontend/build/static/js/main.127b4c25.chunk.js +1 -0
- data/lib/system_settings/version.rb +1 -1
- data/lib/system_settings.rb +9 -1
- metadata +6 -7
- data/frontend/build/static/js/2.3fd64734.chunk.js +0 -1
- data/frontend/build/static/js/main.3240d6b4.chunk.js +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: afe9ba8b4637175f7d2640470fb5b76f1b3571adcb372665e526cba396005185
|
4
|
+
data.tar.gz: bed30ae08b20275af2fd92bf477a9d71ca2b39bb9b53ace4a7beb2453af74da6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71f7750c242feaf7c10968bfda2f9379c8cd99b683da19db0174ba41823694b384283974a134ae0f5e567782f5d963d4bc015cf7d0017bea26c1e8befca684a3
|
7
|
+
data.tar.gz: 70d9f8b6b6e52c66f24a1c4ed36658be555f96416c01a3f32f23251c4fb3f0e9d2e782484e609099a425764776c91b5d7eae69c449eea7b352080929d6a69ac6
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module SystemSettings
|
2
2
|
class Configurator
|
3
3
|
class << self
|
4
|
-
def from_file(file_name)
|
4
|
+
def from_file(file_name, kernel_class: Kernel)
|
5
5
|
file_name = file_name.to_path if file_name.respond_to?(:to_path)
|
6
6
|
raise Errors::SettingsReadError, "The file name must either be a String or implement #to_path" unless file_name.is_a?(String)
|
7
7
|
raise Errors::SettingsReadError, "#{file_name} file does not exist" unless File.exist?(file_name)
|
8
8
|
raise Errors::SettingsReadError, "#{file_name} file not readable" unless File.readable?(file_name)
|
9
9
|
SystemSettings.instrument("system_settings.from_file", path: file_name) do |payload|
|
10
10
|
file_content = File.read(file_name)
|
11
|
-
new.tap do |obj|
|
11
|
+
new(kernel_class: kernel_class).tap do |obj|
|
12
12
|
obj.instance_eval(file_content, file_name, 1)
|
13
13
|
payload[:items] = obj.items
|
14
14
|
end
|
@@ -22,8 +22,9 @@ module SystemSettings
|
|
22
22
|
|
23
23
|
attr_reader :items
|
24
24
|
|
25
|
-
def initialize(&block)
|
25
|
+
def initialize(kernel_class: Kernel, &block)
|
26
26
|
@items = []
|
27
|
+
@kernel_class = kernel_class
|
27
28
|
return unless block_given?
|
28
29
|
if block.arity == 1
|
29
30
|
yield self
|
@@ -57,9 +58,13 @@ module SystemSettings
|
|
57
58
|
if settings_table_exists?
|
58
59
|
SystemSettings::Setting.transaction do
|
59
60
|
@items.each do |entry|
|
60
|
-
persisted_record =
|
61
|
+
persisted_record = SystemSettings::Setting.find_by(name: entry[:name])
|
61
62
|
if persisted_record
|
62
|
-
persisted_record.
|
63
|
+
if persisted_record.class == entry[:class]
|
64
|
+
persisted_record.update!(description: entry[:description])
|
65
|
+
else
|
66
|
+
warn "SystemSettings: Type mismatch detected! Previously #{entry[:name]} had type #{persisted_record.class.name} but you are loading #{entry[:class].name}"
|
67
|
+
end
|
63
68
|
else
|
64
69
|
entry[:class].create!(name: entry[:name], value: entry[:value], description: entry[:description])
|
65
70
|
end
|
@@ -86,6 +91,10 @@ module SystemSettings
|
|
86
91
|
|
87
92
|
private
|
88
93
|
|
94
|
+
def warn(*args)
|
95
|
+
@kernel_class.warn(*args)
|
96
|
+
end
|
97
|
+
|
89
98
|
def settings_table_exists?
|
90
99
|
SystemSettings::Setting.table_exists?
|
91
100
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"files": {
|
3
3
|
"main.css": "/system_settings/static/css/main.92b62519.chunk.css",
|
4
|
-
"main.js": "/system_settings/static/js/main.
|
4
|
+
"main.js": "/system_settings/static/js/main.127b4c25.chunk.js",
|
5
5
|
"runtime~main.js": "/system_settings/static/js/runtime~main.a09e9b82.js",
|
6
|
-
"static/js/2.
|
6
|
+
"static/js/2.3891b1da.chunk.js": "/system_settings/static/js/2.3891b1da.chunk.js",
|
7
7
|
"index.html": "/system_settings/index.html",
|
8
|
-
"precache-manifest.
|
8
|
+
"precache-manifest.9a5e0d0daf376c08f5a7b80b49b88371.js": "/system_settings/precache-manifest.9a5e0d0daf376c08f5a7b80b49b88371.js",
|
9
9
|
"service-worker.js": "/system_settings/service-worker.js"
|
10
10
|
}
|
11
11
|
}
|
data/frontend/build/index.html
CHANGED
@@ -1 +1 @@
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/system_settings/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><title>System Settings</title><link href="/system_settings/static/css/main.92b62519.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/system_settings/static/js/runtime~main.a09e9b82.js"></script><script src="/system_settings/static/js/2.
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/system_settings/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><title>System Settings</title><link href="/system_settings/static/css/main.92b62519.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/system_settings/static/js/runtime~main.a09e9b82.js"></script><script src="/system_settings/static/js/2.3891b1da.chunk.js"></script><script src="/system_settings/static/js/main.127b4c25.chunk.js"></script></body></html>
|
@@ -1,19 +1,19 @@
|
|
1
1
|
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
2
2
|
{
|
3
|
-
"revision": "
|
3
|
+
"revision": "cbe97afd60ae091779221d8d269d3186",
|
4
4
|
"url": "/system_settings/index.html"
|
5
5
|
},
|
6
6
|
{
|
7
|
-
"revision": "
|
7
|
+
"revision": "1aff74f8dd7cf841b97d",
|
8
8
|
"url": "/system_settings/static/css/main.92b62519.chunk.css"
|
9
9
|
},
|
10
10
|
{
|
11
|
-
"revision": "
|
12
|
-
"url": "/system_settings/static/js/2.
|
11
|
+
"revision": "cb5e14f25e489e1305c3",
|
12
|
+
"url": "/system_settings/static/js/2.3891b1da.chunk.js"
|
13
13
|
},
|
14
14
|
{
|
15
|
-
"revision": "
|
16
|
-
"url": "/system_settings/static/js/main.
|
15
|
+
"revision": "1aff74f8dd7cf841b97d",
|
16
|
+
"url": "/system_settings/static/js/main.127b4c25.chunk.js"
|
17
17
|
},
|
18
18
|
{
|
19
19
|
"revision": "1b52e032205e59a9e84f",
|
@@ -14,7 +14,7 @@
|
|
14
14
|
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
15
15
|
|
16
16
|
importScripts(
|
17
|
-
"/system_settings/precache-manifest.
|
17
|
+
"/system_settings/precache-manifest.9a5e0d0daf376c08f5a7b80b49b88371.js"
|
18
18
|
);
|
19
19
|
|
20
20
|
self.addEventListener('message', (event) => {
|