process_settings 0.19.0 → 0.20.0.pre.1

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: 14973d0d1a4eb5ad4641db115a9eb439740761bbc4ae0bfd20a103a455c9eb82
4
- data.tar.gz: 4d662530770cd4afba5792ec603c67f86681300d8aef0c4ed8d9b9e0d8975bca
3
+ metadata.gz: b1badef60c71146241a061aebd1a5911d0780cd1eb2aa0b776f931eaab3d9b7d
4
+ data.tar.gz: 6b9b1d1b7fcb775b316fb8440e9e2786e9a597314fd4b25214620d594e862fbe
5
5
  SHA512:
6
- metadata.gz: 010056e43ab73c0a6838732c25fc4f23fcb598056cac740e81d27f5d9765b12740a1db2f587286d716613597393d49e9781150ff7bd186363c22fd0bc8b420c2
7
- data.tar.gz: 4784757b38d3e80c41ec366ecccc0425069820a712e995927a82fffd02f177e3053cf274886259310d472cc314cdf526b8198531f965b15b24b89b520e14c612
6
+ metadata.gz: 92c9644c27ec9d38d1e9aeaf39dbaa8a8b20ea3bfd5c7f84e206db81b1b5bdc344e0effe8cf710b6971535b826b2cd98db9e2c3f58dc6e9cf38f3941e65d41d9
7
+ data.tar.gz: f29c738cc2f48ae0961e7794968c68b04f450cf1310139ebf76b933c0f25d205e95d7830f84370d833aa89586e659a64c31b39702670d90854327bd525544a18
data/README.md CHANGED
@@ -164,6 +164,14 @@ target:
164
164
  ```
165
165
  This will be applied in any process that has (`service_name == "frontend"` OR `service_name == "auth"`) AND `datacenter == "AWS-US-EAST-1"`.
166
166
 
167
+ ### Regexp Targeting
168
+ To provide a regular expression for targeting, use the ruby regex keyword `!ruby/regexp` followed by your regular expression. For example:
169
+ ```
170
+ target:
171
+ service_name: !ruby/regexp /frontend-\d/
172
+ ```
173
+ This will be applied in any process that has `service_name` that has `frontend-` followed with a number. As an example this will match `"frontend-1"`
174
+
167
175
  ### Precedence
168
176
  The settings YAML files are always combined in alphabetical order by file path. Later settings take precedence over the earlier ones.
169
177
 
@@ -90,6 +90,8 @@ module ProcessSettings
90
90
  end
91
91
  when true, false
92
92
  target_value
93
+ when Regexp
94
+ context_hash.match?(target_value)
93
95
  else
94
96
  target_value == context_hash
95
97
  end
@@ -73,7 +73,7 @@ module ProcessSettings
73
73
  end
74
74
 
75
75
  def from_file(file_path, only_meta: false)
76
- json_doc = Psych.load_file(file_path)
76
+ json_doc = Psych.safe_load_file(file_path, permitted_classes: [Regexp])
77
77
  from_array(json_doc, only_meta: only_meta)
78
78
  end
79
79
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProcessSettings
4
- VERSION = '0.19.0'
4
+ VERSION = '0.20.0.pre.1'
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.19.0
4
+ version: 0.20.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Invoca
@@ -123,9 +123,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  requirements:
126
- - - ">="
126
+ - - ">"
127
127
  - !ruby/object:Gem::Version
128
- version: '0'
128
+ version: 1.3.1
129
129
  requirements: []
130
130
  rubygems_version: 3.0.3
131
131
  signing_key: