process_settings 0.4.0.pre.5 → 0.4.0.pre.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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