process_settings 0.4.0.pre.5 → 0.4.0.pre.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/process_settings/monitor.rb +17 -0
- data/lib/process_settings/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f56173f76d8da7078f3c1c6392eaf9e8e10fc11b
|
4
|
+
data.tar.gz: 3aed63e70ae84333f5559878a8e79a676951efb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ab0888ffda5c5127d3ee2c1300b2a5a502625f7cfd8ee0fd0a1205ef5aff8c7398de4563fec5a5c50cd4b8bd1602047a47cf83694a56cc8981e7d986b616e6e
|
7
|
+
data.tar.gz: fb65c399ae5c8963b060c1608e72d38c83dae475ea885419e5d53ecdf0089206e00931dd82742c88c72b87a4fe7d1231de9571ce6bcd034b2ad97efc4a9e995c
|
@@ -56,7 +56,10 @@ module ProcessSettings
|
|
56
56
|
end
|
57
57
|
|
58
58
|
# Assigns a new static context. Recomputes statically_targeted_settings.
|
59
|
+
# Keys must be strings or integers. No symbols.
|
59
60
|
def static_context=(context)
|
61
|
+
self.class.ensure_no_symbols(context)
|
62
|
+
|
60
63
|
@static_context = context
|
61
64
|
|
62
65
|
load_statically_targeted_settings(force_retarget: true)
|
@@ -138,6 +141,20 @@ module ProcessSettings
|
|
138
141
|
@logger = new_logger
|
139
142
|
Listen.logger = new_logger
|
140
143
|
end
|
144
|
+
|
145
|
+
def ensure_no_symbols(value)
|
146
|
+
case value
|
147
|
+
when Symbol
|
148
|
+
raise ArgumentError, "symbol value #{value.inspect} found--should be String"
|
149
|
+
when Hash
|
150
|
+
value.each do |k, v|
|
151
|
+
k.is_a?(Symbol) and raise ArgumentError, "symbol key #{k.inspect} found--should be String"
|
152
|
+
ensure_no_symbols(v)
|
153
|
+
end
|
154
|
+
when Array
|
155
|
+
value.each { |v| ensure_no_symbols(v) }
|
156
|
+
end
|
157
|
+
end
|
141
158
|
end
|
142
159
|
|
143
160
|
# Calls all registered on_change callbacks. Rescues any exceptions they may raise.
|