process_settings 0.13.3 → 0.14.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: a93ffd2546ada2c2794eb403f89339324d4086c3075fd0454b36bbb351c95506
4
- data.tar.gz: 4ffafc1e201ad9e82abda0241d304d0832098270522dc76e92d364fb5f21c924
3
+ metadata.gz: 0f741a9ba0e6370251e742c613fe5dba63b4c53c7dfdec8c352d00f9d2938489
4
+ data.tar.gz: 69b58c50ff369b61d95814cba575fad95d8eb3404443acfb2f5d4154aea392c4
5
5
  SHA512:
6
- metadata.gz: 4f8491c6fdc5e5161a7a14f57c0a8f5a040bc471119336f33d26677413a056b96244f737a87f98b555a91febada1f67a74feb3daabb669f308a0a24db275e4d3
7
- data.tar.gz: f92777b0129ba9bf468b533afc99a7180cf9ace6e47109ea280b0ef92ad77e4882bbf0a8d5fe94d9e6d47b070fa4e98a978139c2355d3c958af4ad886f71880a
6
+ metadata.gz: d00a43c0beffc30ab1af86edebc98adb7dc99dcc21d334dc7ba13cb146b5595e04bb905c6ce346a057ea29f2483fa729e52cdaaacb45eb743f0740fb062fdcf9
7
+ data.tar.gz: 97ebec348ff8d4220668b55148cb26aa5c3934317e91d114ecbeb5e2e2c7cc081bfa695595b09ee8b9ac984b1c58955346697eda2ef78b36e6ea7bab1a8e6491
data/README.md CHANGED
@@ -169,8 +169,8 @@ The settings YAML files are always combined in alphabetical order by file path.
169
169
 
170
170
  ### Testing
171
171
  For testing, it is often necessary to set a specific override hash for the process_settings values to use in
172
- that use case. The `ProcessSettings::Testing::Helpers` module is provided for this purpose. It can be used to
173
- override a specific hash of process settings, while leaving the rest intact, and resetting back to the defaults
172
+ that use case. The `ProcessSettings::Testing::RSpec::Helpers` and `ProcessSettings::Testing::Minitest::Helpers` modules are provided for this purpose.
173
+ They can be used to override a specific hash of process settings, while leaving the rest intact, and resetting back to the defaults
174
174
  after the test case is over. Here are some examples using various testing frameworks:
175
175
 
176
176
  #### RSpec
@@ -181,7 +181,7 @@ require 'process_settings/testing/helpers'
181
181
  RSpec.configure do |config|
182
182
  # ...
183
183
 
184
- include ProcessSettings::Testing::Helpers
184
+ include ProcessSettings::Testing::RSpec::Helpers
185
185
 
186
186
  # Note: the include above will automatically register a global after block that will reset process_settings to their initial values.
187
187
  # ...
@@ -206,7 +206,7 @@ end
206
206
  require 'process_settings/testing/helpers'
207
207
 
208
208
  context SomeClass do
209
- include ProcessSettings::Testing::Helpers
209
+ include ProcessSettings::Testing::Minitest::Helpers
210
210
 
211
211
  # Note: the include above will automatically register a teardown block that will reset process_settings to their initial values.
212
212
 
@@ -8,47 +8,66 @@ require 'process_settings/testing/monitor'
8
8
 
9
9
  module ProcessSettings
10
10
  module Testing
11
- module Helpers
12
- class << self
13
- def included(including_klass)
14
- if including_klass.respond_to?(:after) # rspec
11
+ module Base
12
+ module Helpers
13
+ # Adds the given settings_hash as an override at the end of the process_settings array, with default targeting (true).
14
+ # Therefore this will override these settings while leaving others alone.
15
+ #
16
+ # @param [Hash] settings_hash
17
+ #
18
+ # @return none
19
+ def stub_process_settings(settings_hash)
20
+ new_target_and_settings = ProcessSettings::TargetAndSettings.new(
21
+ '<test_override>',
22
+ Target::true_target,
23
+ ProcessSettings::Settings.new(settings_hash.deep_stringify_keys)
24
+ )
25
+
26
+ new_process_settings = [
27
+ *initial_instance.statically_targeted_settings,
28
+ new_target_and_settings
29
+ ]
30
+
31
+ ProcessSettings.instance = ProcessSettings::Testing::Monitor.new(
32
+ new_process_settings,
33
+ logger: initial_instance.logger
34
+ )
35
+ end
36
+
37
+ def initial_instance
38
+ @initial_instance ||= ProcessSettings.instance
39
+ end
40
+ end
41
+ end
42
+
43
+ module RSpec
44
+ module Helpers
45
+ include Base::Helpers
46
+
47
+ class << self
48
+ def included(including_klass)
15
49
  including_klass.after do
16
50
  ProcessSettings.instance = initial_instance
17
51
  end
18
- else # minitest
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ module Minitest
58
+ module Helpers
59
+ include Base::Helpers
60
+
61
+ class << self
62
+ def included(including_klass)
19
63
  including_klass.define_method(:teardown) do
20
64
  ProcessSettings.instance = initial_instance
21
65
  end
22
66
  end
23
67
  end
24
68
  end
25
- # Adds the given settings_hash as an override at the end of the process_settings array, with default targeting (true).
26
- # Therefore this will override these settings while leaving others alone.
27
- #
28
- # @param [Hash] settings_hash
29
- #
30
- # @return none
31
- def stub_process_settings(settings_hash)
32
- new_target_and_settings = ProcessSettings::TargetAndSettings.new(
33
- '<test_override>',
34
- Target::true_target,
35
- ProcessSettings::Settings.new(settings_hash.deep_stringify_keys)
36
- )
37
-
38
- new_process_settings = [
39
- *initial_instance.statically_targeted_settings,
40
- new_target_and_settings
41
- ]
42
-
43
- ProcessSettings.instance = ProcessSettings::Testing::Monitor.new(
44
- new_process_settings,
45
- logger: initial_instance.logger
46
- )
47
- end
48
-
49
- def initial_instance
50
- @initial_instance ||= ProcessSettings.instance
51
- end
52
69
  end
70
+
71
+ Helpers = RSpec::Helpers # for backward-compatibility
53
72
  end
54
73
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProcessSettings
4
- VERSION = '0.13.3'
4
+ VERSION = '0.14.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.13.3
4
+ version: 0.14.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Invoca
@@ -122,9 +122,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
122
  version: '0'
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ">="
125
+ - - ">"
126
126
  - !ruby/object:Gem::Version
127
- version: '0'
127
+ version: 1.3.1
128
128
  requirements: []
129
129
  rubygems_version: 3.0.3
130
130
  signing_key: