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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a69db3e4ceae9fba3348ecd92382b5f5a3958e1
4
- data.tar.gz: 40fe4f88c2134f920564ee73c7ff501c3e7a6b39
3
+ metadata.gz: f56173f76d8da7078f3c1c6392eaf9e8e10fc11b
4
+ data.tar.gz: 3aed63e70ae84333f5559878a8e79a676951efb3
5
5
  SHA512:
6
- metadata.gz: 964821a5aa423008d3ea765c927f331b9da82e93bfd7b2da57141e95015bad8729ee30838f6a1c8424873f827dcdc432489fbcc3dff0628e2b15de123b0aab1e
7
- data.tar.gz: fcc8f83d5e90581cd7858b9bbb33a2d5c03ae452c9701730edd2c9a0c2b7e3f6fee3631807364a4f0bff7d2e811607db67ea72d09f6b8ef5dcf43914b5fab6c6
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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProcessSettings
4
- VERSION = '0.4.0.pre.5'
4
+ VERSION = '0.4.0.pre.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.pre.5
4
+ version: 0.4.0.pre.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Invoca