process_settings 0.12.0 → 0.13.3

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
  SHA256:
3
- metadata.gz: 0b0dcdddb2cb6813f10589b7284f4bbaae8a1d235d4bc23f181a7f7a7750659d
4
- data.tar.gz: 84e9c90b0c30f7207be52afc9edc5dbc2382cf7f74ed16fecfbd023fd78268f9
3
+ metadata.gz: a93ffd2546ada2c2794eb403f89339324d4086c3075fd0454b36bbb351c95506
4
+ data.tar.gz: 4ffafc1e201ad9e82abda0241d304d0832098270522dc76e92d364fb5f21c924
5
5
  SHA512:
6
- metadata.gz: 436bc2f85eda4c8584cd5853a0824646b6877e074116b8c4713952a2f94428a98b8d9120b095ba16645e635cbd72a399d84bbff53075c7974c76bb8d27521e07
7
- data.tar.gz: 5356f8c93f2fd4b20fcc206aa8ab40c4ce89a8091fc827d9763050bb5fd316c3ecd7c763203f3181cd05b89cda3aefc4d180f70fc132f75b01cf25c79e049b8f
6
+ metadata.gz: 4f8491c6fdc5e5161a7a14f57c0a8f5a040bc471119336f33d26677413a056b96244f737a87f98b555a91febada1f67a74feb3daabb669f308a0a24db275e4d3
7
+ data.tar.gz: f92777b0129ba9bf468b533afc99a7180cf9ace6e47109ea280b0ef92ad77e4882bbf0a8d5fe94d9e6d47b070fa4e98a978139c2355d3c958af4ad886f71880a
@@ -75,18 +75,38 @@ def add_warning_comment(yaml, root_folder, program_name, settings_folder)
75
75
  yaml.sub("\n", "\n" + warning_comment)
76
76
  end
77
77
 
78
+ MINIMUM_LIBYAML_VERSION = '0.2.5' # So that null (nil) values don't have trailing spaces.
79
+
80
+ def warn_if_old_libyaml_version
81
+ if Gem::Version.new(Psych::LIBYAML_VERSION) < Gem::Version.new(MINIMUM_LIBYAML_VERSION)
82
+ warn <<~EOS
83
+
84
+ #{PROGRAM_NAME} warning: libyaml version #{Psych::LIBYAML_VERSION} is out of date; it should be at least #{MINIMUM_LIBYAML_VERSION}. On a Mac, try:
85
+
86
+ brew update && brew upgrade libyaml
87
+
88
+ You may also need:
89
+
90
+ gem install psych -- --enable-bundled-libyaml
91
+ EOS
92
+ end
93
+ end
94
+
95
+
78
96
  #
79
97
  # main
80
98
  #
81
99
 
82
100
  options = parse_options(ARGV.dup)
83
101
 
102
+ warn_if_old_libyaml_version
103
+
84
104
  combined_settings = read_and_combine_settings(Pathname.new(options.root_folder) + SETTINGS_FOLDER)
85
105
 
86
106
  version_number = options.version || default_version_number(options.initial_filename)
87
107
  combined_settings << end_marker(version_number)
88
108
 
89
- yaml = combined_settings.to_yaml.gsub(/: $/, ": null") # implicit null caused problems because of trailing whitespace
109
+ yaml = combined_settings.to_yaml.gsub(/: $/, ':') # libyaml before 0.2.5 wrote trailing space for nil
90
110
  yaml_with_warning_comment = add_warning_comment(yaml, options.root_folder, PROGRAM_NAME, SETTINGS_FOLDER)
91
111
 
92
112
  output_filename = options.output_filename
@@ -11,15 +11,14 @@ module ProcessSettings
11
11
  module Helpers
12
12
  class << self
13
13
  def included(including_klass)
14
- after_method =
15
- if including_klass.respond_to?(:teardown)
16
- :teardown
17
- else
18
- :after
14
+ if including_klass.respond_to?(:after) # rspec
15
+ including_klass.after do
16
+ ProcessSettings.instance = initial_instance
17
+ end
18
+ else # minitest
19
+ including_klass.define_method(:teardown) do
20
+ ProcessSettings.instance = initial_instance
19
21
  end
20
-
21
- including_klass.send(after_method) do
22
- ProcessSettings.instance = initial_instance
23
22
  end
24
23
  end
25
24
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProcessSettings
4
- VERSION = '0.12.0'
4
+ VERSION = '0.13.3'
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Invoca
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2019-09-19 00:00:00.000000000 Z
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '3.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: psych
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.2'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.2'
61
75
  description: Targeted process settings that dynamically reload without restarting
62
76
  the process
63
77
  email: development+ps@invoca.com
@@ -97,7 +111,7 @@ licenses:
97
111
  metadata:
98
112
  source_code_uri: https://github.com/Invoca/process_settings
99
113
  allowed_push_host: https://rubygems.org
100
- post_install_message:
114
+ post_install_message:
101
115
  rdoc_options: []
102
116
  require_paths:
103
117
  - lib
@@ -113,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
127
  version: '0'
114
128
  requirements: []
115
129
  rubygems_version: 3.0.3
116
- signing_key:
130
+ signing_key:
117
131
  specification_version: 4
118
132
  summary: Dynamic process settings
119
133
  test_files: []