config 4.2.1 → 5.5.1
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 +4 -4
- data/CHANGELOG.md +48 -1
- data/CONTRIBUTING.md +9 -3
- data/README.md +5 -1
- data/config.gemspec +10 -9
- data/lib/config/dry_validation_requirements.rb +27 -0
- data/lib/config/error.rb +4 -0
- data/lib/config/integrations/heroku.rb +2 -2
- data/lib/config/integrations/rails/railtie.rb +1 -1
- data/lib/config/options.rb +11 -1
- data/lib/config/sources/env_source.rb +23 -2
- data/lib/config/validation/error.rb +3 -1
- data/lib/config/validation/schema.rb +4 -1
- data/lib/config/validation/validate.rb +4 -0
- data/lib/config/version.rb +1 -1
- data/lib/config.rb +11 -7
- data/lib/generators/config/install_generator.rb +6 -6
- data/lib/generators/config/templates/config.rb +10 -0
- metadata +36 -18
- data/lib/config/compatibility.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d45b7406d553675ee52e72b0844d60c2bf2f1f27bc8c29fb1833cbe86ca92d3
|
4
|
+
data.tar.gz: 234c1d664bc25031df364c3a8a3384544862cfb39b838c6c1b39e5d28687ea70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a107c67a53f64d1a4af4694d38355a028af0caee739ea640f32f03343f06a850b70bb64a580dcfdae2576e413cc83898f613fe196e8065ec36edc40712e02cf6
|
7
|
+
data.tar.gz: 2a24721b6a2e355c482659a6d76d657fc1b67fb3390fabffafeb9433bceb80423e0254aa972052a237f4f277815ea17442fa3ab86b3ce9521953c8ffab277de8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,52 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 5.5.1
|
4
|
+
|
5
|
+
### Documentation
|
6
|
+
|
7
|
+
* Fix funding_url to funding_uri in gemspec ([#361](https://github.com/rubyconfig/config/pull/361))
|
8
|
+
|
9
|
+
## 5.5.0
|
10
|
+
|
11
|
+
### New features
|
12
|
+
|
13
|
+
* Allow arrays to be passed through env variables ([#354](https://github.com/rubyconfig/config/pull/354))
|
14
|
+
|
15
|
+
### Documentation
|
16
|
+
|
17
|
+
* Use funding_url rather than post_install_message ([#360](https://github.com/rubyconfig/config/pull/360))
|
18
|
+
* Fix typos in the tests and documentation ([#359](https://github.com/rubyconfig/config/pull/359))
|
19
|
+
|
20
|
+
## 5.4.0
|
21
|
+
|
22
|
+
### New features
|
23
|
+
|
24
|
+
* Add configuration option `environment` to override the use of `Rails.env` ([#356](https://github.com/rubyconfig/config/pull/356))
|
25
|
+
|
26
|
+
## 5.3.0
|
27
|
+
|
28
|
+
* Remove `dry-validation` from dependencies ([#333](https://github.com/rubyconfig/config/pull/333))
|
29
|
+
|
30
|
+
## 5.2.0
|
31
|
+
|
32
|
+
### New features
|
33
|
+
|
34
|
+
* Allow to use custom filename && directory name to store configs ([#341](https://github.com/rubyconfig/config/pull/341))
|
35
|
+
|
36
|
+
### Bug fixes
|
37
|
+
|
38
|
+
* Prevent name collision with private methods from ancestors ([#351](https://github.com/rubyconfig/config/pull/351))
|
39
|
+
|
40
|
+
## 5.1.0
|
41
|
+
|
42
|
+
* Fix conflicts with Rails 7 active_support methods ([#347](https://github.com/rubyconfig/config/pull/347))
|
43
|
+
|
44
|
+
## 5.0.0
|
45
|
+
|
46
|
+
### BREAKING CHANGES
|
47
|
+
|
48
|
+
* No longer load `deep_merge`'s monkey patch for `Hash#deep_merge` and `Hash#deep_merge!` ([#342](https://github.com/rubyconfig/config/pull/342)). If you rely on those methods and are not using Rails / Active Support, you can load the monkey patch via `require 'deep_merge/deep_merge_hash'`. This change fixes Rails 7.x support.
|
49
|
+
|
3
50
|
## 4.2.1
|
4
51
|
|
5
52
|
### Bug fixes
|
@@ -26,7 +73,7 @@
|
|
26
73
|
* Rails versions `< 5.2` are no longer supported ([#316](https://github.com/rubyconfig/config/pull/316))
|
27
74
|
* Ruby versions `< 2.6` are no longer supported ([#316](https://github.com/rubyconfig/config/pull/316))
|
28
75
|
* Support `HashSource` and `EnvSource` instances in `Config.load_files` and `Config.load_and_set_settings`. ([#315](https://github.com/rubyconfig/config/pull/315)). There are a few subtle breaking changes:
|
29
|
-
* Previously, `Config.load_files` (called from `Config.load_and_set_settings`) would call `.to_s` on each of its arguments. Now, this responsibility is
|
76
|
+
* Previously, `Config.load_files` (called from `Config.load_and_set_settings`) would call `.to_s` on each of its arguments. Now, this responsibility is deferred to YAMLSource. In effect, if your application passes String or Pathname objects to `Config.load_files`, no changes are necessary, but if you were somehow relying on the `.to_s` call for some other type of object, you'll now need to call `.to_s` on that object before passing it to `Config`.
|
30
77
|
* Before this change, `Config.load_files` would call `uniq` on its argument array. This call has been removed, so duplicate file paths are not removed before further processing. In some cases, this can cause differences in behavior since later config files override the values in earlier ones. In most cases, it's best to ensure that duplicate paths are not passed to `Config.load_files`.
|
31
78
|
|
32
79
|
## 3.1.1
|
data/CONTRIBUTING.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Install appraisal
|
4
4
|
|
5
5
|
```bash
|
6
|
-
gem install bundler
|
6
|
+
gem install bundler
|
7
7
|
gem install appraisal
|
8
8
|
```
|
9
9
|
|
@@ -16,13 +16,19 @@ bundle install
|
|
16
16
|
Bootstrap
|
17
17
|
|
18
18
|
```bash
|
19
|
-
appraisal install
|
19
|
+
bundle exec appraisal install
|
20
|
+
```
|
21
|
+
|
22
|
+
If you need to create new test app for specific rails version
|
23
|
+
|
24
|
+
```bash
|
25
|
+
bundle exec appraisal rails-7.0 rails new spec/app/rails_7.0
|
20
26
|
```
|
21
27
|
|
22
28
|
Run the test suite:
|
23
29
|
|
24
30
|
```bash
|
25
|
-
appraisal rspec
|
31
|
+
bundle exec appraisal rspec
|
26
32
|
```
|
27
33
|
|
28
34
|
If you modified any of the documentation files verify their format:
|
data/README.md
CHANGED
@@ -53,6 +53,8 @@ which will generate customizable config file `config/initializers/config.rb` and
|
|
53
53
|
|
54
54
|
You can now edit them to adjust to your needs.
|
55
55
|
|
56
|
+
> Note: By default, the config environment will match the Rails environment (`Rails.env`). This can be changed by setting `config.environment`.
|
57
|
+
|
56
58
|
### Installing on Padrino
|
57
59
|
|
58
60
|
Add the gem to your `Gemfile` and run `bundle install` to install it. Then edit `app.rb` and register `Config`
|
@@ -270,6 +272,8 @@ After installing `Config` in Rails, you will find automatically generated file t
|
|
270
272
|
|
271
273
|
* `const_name` - name of the object holing you settings. Default: `'Settings'`
|
272
274
|
* `evaluate_erb_in_yaml` - evaluate ERB in YAML config files. Set to false if the config file contains ERB that should not be evaluated at load time. Default: `true`
|
275
|
+
* `file_name` - name of the file to store general keys accessible in all environments. Default: `'settings'` - located at `config/settings.yml`
|
276
|
+
* `dir_name` - name of the directory to store environment-specific files. Default: `'settings'` - located at `config/settings/`
|
273
277
|
|
274
278
|
### Merge customization
|
275
279
|
|
@@ -424,7 +428,7 @@ ENV['Settings.section.server'] = 'google.com'
|
|
424
428
|
|
425
429
|
It won't work with arrays, though.
|
426
430
|
|
427
|
-
It is considered an error to use environment variables to
|
431
|
+
It is considered an error to use environment variables to simultaneously assign a "flat" value and a multi-level value to a key.
|
428
432
|
|
429
433
|
```ruby
|
430
434
|
# Raises an error when settings are loaded
|
data/config.gemspec
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'config/version'
|
1
|
+
require_relative 'lib/config/version'
|
2
|
+
require_relative 'lib/config/dry_validation_requirements'
|
4
3
|
|
5
4
|
Gem::Specification.new do |s|
|
6
5
|
s.name = 'config'
|
@@ -15,11 +14,13 @@ Gem::Specification.new do |s|
|
|
15
14
|
s.license = 'MIT'
|
16
15
|
s.extra_rdoc_files = %w[README.md CHANGELOG.md CONTRIBUTING.md LICENSE.md]
|
17
16
|
s.rdoc_options = ['--charset=UTF-8']
|
18
|
-
s.post_install_message = "\n\e[33mThanks for installing Config\e[0m
|
19
|
-
Please consider donating to our open collective to help us maintain this project.
|
20
|
-
\n
|
21
|
-
Donate: \e[34mhttps://opencollective.com/rubyconfig/donate\e[0m\n"
|
22
17
|
|
18
|
+
s.metadata = {
|
19
|
+
'changelog_uri' => "https://github.com/rubyconfig/config/blob/master/CHANGELOG.md",
|
20
|
+
'funding_uri' => 'https://opencollective.com/rubyconfig/donate',
|
21
|
+
'source_code_uri' => 'https://github.com/rubyconfig/config',
|
22
|
+
'bug_tracker_uri' => 'https://github.com/rubyconfig/config/issues'
|
23
|
+
}
|
23
24
|
s.files = `git ls-files`.split($/)
|
24
25
|
s.files.select! { |file| /(^lib\/|^\w+.md$|\.gemspec$)/ =~ file }
|
25
26
|
|
@@ -27,12 +28,12 @@ Donate: \e[34mhttps://opencollective.com/rubyconfig/donate\e[0m\n"
|
|
27
28
|
s.required_ruby_version = '>= 2.6.0'
|
28
29
|
|
29
30
|
s.add_dependency 'deep_merge', '~> 1.2', '>= 1.2.1'
|
30
|
-
s.add_dependency 'dry-validation', '~> 1.0', '>= 1.0.0'
|
31
31
|
|
32
|
+
s.add_development_dependency 'dry-validation', *Config::DryValidationRequirements::VERSIONS
|
32
33
|
s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
|
33
34
|
|
34
35
|
# Testing
|
35
|
-
s.add_development_dependency 'appraisal', '~> 2.
|
36
|
+
s.add_development_dependency 'appraisal', '~> 2.5', '>= 2.5.0'
|
36
37
|
s.add_development_dependency 'rspec', '~> 3.9', '>= 3.9.0'
|
37
38
|
|
38
39
|
# Default RSpec run will test against latest Rails app
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Config
|
4
|
+
module DryValidationRequirements
|
5
|
+
VERSIONS = ['~> 1.0', '>= 1.0.0'].freeze
|
6
|
+
|
7
|
+
def self.load_dry_validation!
|
8
|
+
return if defined?(@load_dry_validation)
|
9
|
+
|
10
|
+
begin
|
11
|
+
require 'dry/validation/version'
|
12
|
+
version = Gem::Version.new(Dry::Validation::VERSION)
|
13
|
+
unless VERSIONS.all? { |req| Gem::Requirement.new(req).satisfied_by?(version) }
|
14
|
+
raise LoadError
|
15
|
+
end
|
16
|
+
rescue LoadError
|
17
|
+
raise ::Config::Error, 'Could not find a dry-validation version' \
|
18
|
+
' matching requirements' \
|
19
|
+
" (#{VERSIONS.map(&:inspect) * ','})"
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'dry/validation'
|
23
|
+
@load_dry_validation = true
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/config/error.rb
ADDED
@@ -14,8 +14,8 @@ module Config
|
|
14
14
|
def vars
|
15
15
|
# Load only local options to Heroku
|
16
16
|
Config.load_and_set_settings(
|
17
|
-
Rails.root.join("config", "
|
18
|
-
Rails.root.join("config",
|
17
|
+
Rails.root.join("config", "#{Config.file_name}.local.yml").to_s,
|
18
|
+
Rails.root.join("config", Config.dir_name, "#{environment}.local.yml").to_s,
|
19
19
|
Rails.root.join("config", "environments", "#{environment}.local.yml").to_s
|
20
20
|
)
|
21
21
|
|
@@ -9,7 +9,7 @@ module Config
|
|
9
9
|
|
10
10
|
# Parse the settings before any of the initializers
|
11
11
|
Config.load_and_set_settings(
|
12
|
-
Config.setting_files(::Rails.root.join('config'), ::Rails.env)
|
12
|
+
Config.setting_files(::Rails.root.join('config'), Config.environment.nil? ? ::Rails.env : Config.environment.to_sym)
|
13
13
|
)
|
14
14
|
end
|
15
15
|
|
data/lib/config/options.rb
CHANGED
@@ -114,11 +114,15 @@ module Config
|
|
114
114
|
# Some keywords that don't play nicely with OpenStruct
|
115
115
|
SETTINGS_RESERVED_NAMES = %w[select collect test count zip min max exit! table].freeze
|
116
116
|
|
117
|
+
# Some keywords that don't play nicely with Rails 7.*
|
118
|
+
RAILS_RESERVED_NAMES = %w[maximum minimum].freeze
|
119
|
+
|
117
120
|
# An alternative mechanism for property access.
|
118
121
|
# This let's you do foo['bar'] along with foo.bar.
|
119
122
|
def [](param)
|
120
123
|
return super if SETTINGS_RESERVED_NAMES.include?(param)
|
121
|
-
|
124
|
+
return super if RAILS_RESERVED_NAMES.include?(param)
|
125
|
+
public_send("#{param}")
|
122
126
|
end
|
123
127
|
|
124
128
|
def []=(param, value)
|
@@ -131,6 +135,12 @@ module Config
|
|
131
135
|
end
|
132
136
|
end
|
133
137
|
|
138
|
+
RAILS_RESERVED_NAMES.each do |name|
|
139
|
+
define_method name do
|
140
|
+
self[name]
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
134
144
|
def key?(key)
|
135
145
|
@table.key?(key)
|
136
146
|
end
|
@@ -6,17 +6,20 @@ module Config
|
|
6
6
|
attr_reader :separator
|
7
7
|
attr_reader :converter
|
8
8
|
attr_reader :parse_values
|
9
|
+
attr_reader :parse_arrays
|
9
10
|
|
10
11
|
def initialize(env,
|
11
12
|
prefix: Config.env_prefix || Config.const_name,
|
12
13
|
separator: Config.env_separator,
|
13
14
|
converter: Config.env_converter,
|
14
|
-
parse_values: Config.env_parse_values
|
15
|
+
parse_values: Config.env_parse_values,
|
16
|
+
parse_arrays: Config.env_parse_arrays)
|
15
17
|
@env = env
|
16
18
|
@prefix = prefix.to_s.split(separator)
|
17
19
|
@separator = separator
|
18
20
|
@converter = converter
|
19
21
|
@parse_values = parse_values
|
22
|
+
@parse_arrays = parse_arrays
|
20
23
|
end
|
21
24
|
|
22
25
|
def load
|
@@ -52,10 +55,28 @@ module Config
|
|
52
55
|
leaf[keys.last] = parse_values ? __value(value) : value
|
53
56
|
end
|
54
57
|
|
55
|
-
hash
|
58
|
+
parse_arrays ? convert_hashes_to_arrays(hash) : hash
|
56
59
|
end
|
57
60
|
|
58
61
|
private
|
62
|
+
def convert_hashes_to_arrays(hash)
|
63
|
+
hash.each_with_object({}) do |(key, value), new_hash|
|
64
|
+
if value.is_a?(Hash)
|
65
|
+
value = convert_hashes_to_arrays(value)
|
66
|
+
if consecutive_numeric_keys?(value.keys)
|
67
|
+
new_hash[key] = value.keys.sort_by(&:to_i).map { |k| value[k] }
|
68
|
+
else
|
69
|
+
new_hash[key] = value
|
70
|
+
end
|
71
|
+
else
|
72
|
+
new_hash[key] = value
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def consecutive_numeric_keys?(keys)
|
78
|
+
keys.map(&:to_i).sort == (0...keys.size).to_a && keys.all? { |k| k == k.to_i.to_s }
|
79
|
+
end
|
59
80
|
|
60
81
|
# Try to convert string to a correct type
|
61
82
|
def __value(v)
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require_relative '../dry_validation_requirements'
|
2
|
+
require_relative '../error'
|
3
|
+
|
1
4
|
module Config
|
2
5
|
module Validation
|
3
6
|
module Schema
|
@@ -9,7 +12,7 @@ module Config
|
|
9
12
|
def schema(&block)
|
10
13
|
if block_given?
|
11
14
|
# Delay require until optional schema validation is requested
|
12
|
-
|
15
|
+
Config::DryValidationRequirements.load_dry_validation!
|
13
16
|
@schema = Dry::Schema.define(&block)
|
14
17
|
else
|
15
18
|
@schema
|
@@ -4,6 +4,10 @@ module Config
|
|
4
4
|
module Validation
|
5
5
|
module Validate
|
6
6
|
def validate!
|
7
|
+
return unless Config.validation_contract || Config.schema
|
8
|
+
|
9
|
+
Config::DryValidationRequirements.load_dry_validation!
|
10
|
+
|
7
11
|
validate_using!(Config.validation_contract)
|
8
12
|
validate_using!(Config.schema)
|
9
13
|
end
|
data/lib/config/version.rb
CHANGED
data/lib/config.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require 'config/compatibility'
|
2
1
|
require 'config/options'
|
3
2
|
require 'config/configuration'
|
3
|
+
require 'config/dry_validation_requirements'
|
4
4
|
require 'config/version'
|
5
5
|
require 'config/sources/yaml_source'
|
6
6
|
require 'config/sources/hash_source'
|
7
7
|
require 'config/sources/env_source'
|
8
8
|
require 'config/validation/schema'
|
9
|
-
require 'deep_merge'
|
9
|
+
require 'deep_merge/core'
|
10
10
|
|
11
11
|
module Config
|
12
12
|
extend Config::Validation::Schema
|
@@ -18,14 +18,18 @@ module Config
|
|
18
18
|
env_separator: '.',
|
19
19
|
env_converter: :downcase,
|
20
20
|
env_parse_values: true,
|
21
|
+
env_parse_arrays: false,
|
21
22
|
fail_on_missing: false,
|
23
|
+
file_name: 'settings',
|
24
|
+
dir_name: 'settings',
|
22
25
|
# deep_merge options
|
23
26
|
knockout_prefix: nil,
|
24
27
|
merge_nil_values: true,
|
25
28
|
overwrite_arrays: true,
|
26
29
|
merge_hash_arrays: false,
|
27
30
|
validation_contract: nil,
|
28
|
-
evaluate_erb_in_yaml: true
|
31
|
+
evaluate_erb_in_yaml: true,
|
32
|
+
environment: nil
|
29
33
|
)
|
30
34
|
|
31
35
|
def self.setup
|
@@ -58,8 +62,8 @@ module Config
|
|
58
62
|
|
59
63
|
def self.setting_files(config_root, env)
|
60
64
|
[
|
61
|
-
File.join(config_root,
|
62
|
-
File.join(config_root,
|
65
|
+
File.join(config_root, "#{Config.file_name}.yml").to_s,
|
66
|
+
File.join(config_root, Config.dir_name, "#{env}.yml").to_s,
|
63
67
|
File.join(config_root, 'environments', "#{env}.yml").to_s,
|
64
68
|
*local_setting_files(config_root, env)
|
65
69
|
].freeze
|
@@ -67,8 +71,8 @@ module Config
|
|
67
71
|
|
68
72
|
def self.local_setting_files(config_root, env)
|
69
73
|
[
|
70
|
-
(File.join(config_root,
|
71
|
-
File.join(config_root,
|
74
|
+
(File.join(config_root, "#{Config.file_name}.local.yml").to_s if env != 'test'),
|
75
|
+
File.join(config_root, Config.dir_name, "#{env}.local.yml").to_s,
|
72
76
|
File.join(config_root, 'environments', "#{env}.local.yml").to_s
|
73
77
|
].compact
|
74
78
|
end
|
@@ -12,18 +12,18 @@ module Config
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def copy_settings
|
15
|
-
template "settings.yml", "config
|
16
|
-
template "settings.local.yml", "config
|
17
|
-
directory "settings", "config
|
15
|
+
template "settings.yml", "config/#{Config.file_name}.yml"
|
16
|
+
template "settings.local.yml", "config/#{Config.file_name}.local.yml"
|
17
|
+
directory "settings", "config/#{Config.dir_name}"
|
18
18
|
end
|
19
19
|
|
20
20
|
def modify_gitignore
|
21
21
|
create_file '.gitignore' unless File.exist? '.gitignore'
|
22
22
|
|
23
23
|
append_to_file '.gitignore' do
|
24
|
-
"\n"
|
25
|
-
"config
|
26
|
-
"config
|
24
|
+
"\n" +
|
25
|
+
"config/#{Config.file_name}.local.yml\n" +
|
26
|
+
"config/#{Config.dir_name}/*.local.yml\n" +
|
27
27
|
"config/environments/*.local.yml\n"
|
28
28
|
end
|
29
29
|
end
|
@@ -15,6 +15,11 @@ Config.setup do |config|
|
|
15
15
|
#
|
16
16
|
# config.overwrite_arrays = true
|
17
17
|
|
18
|
+
# Defines current environment, affecting which settings file will be loaded.
|
19
|
+
# Default: `Rails.env`
|
20
|
+
#
|
21
|
+
# config.environment = ENV.fetch('ENVIRONMENT', :development)
|
22
|
+
|
18
23
|
# Load environment variables from the `ENV` object and override any settings defined in files.
|
19
24
|
#
|
20
25
|
# config.use_env = false
|
@@ -55,4 +60,9 @@ Config.setup do |config|
|
|
55
60
|
# Evaluate ERB in YAML config files at load time.
|
56
61
|
#
|
57
62
|
# config.evaluate_erb_in_yaml = true
|
63
|
+
|
64
|
+
# Name of directory and file to store config keys
|
65
|
+
#
|
66
|
+
# config.file_name = 'settings'
|
67
|
+
# config.dir_name = 'settings'
|
58
68
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Kuczynski
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-05-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: deep_merge
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
- - ">="
|
43
43
|
- !ruby/object:Gem::Version
|
44
44
|
version: 1.0.0
|
45
|
-
type: :
|
45
|
+
type: :development
|
46
46
|
prerelease: false
|
47
47
|
version_requirements: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
@@ -78,20 +78,20 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '2.
|
81
|
+
version: '2.5'
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.
|
84
|
+
version: 2.5.0
|
85
85
|
type: :development
|
86
86
|
prerelease: false
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '2.
|
91
|
+
version: '2.5'
|
92
92
|
- - ">="
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: 2.
|
94
|
+
version: 2.5.0
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
name: rspec
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,42 +118,56 @@ dependencies:
|
|
118
118
|
requirements:
|
119
119
|
- - ">="
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: 1.
|
121
|
+
version: 1.16.0
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
126
|
- - ">="
|
127
127
|
- !ruby/object:Gem::Version
|
128
|
-
version: 1.
|
128
|
+
version: 1.16.0
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
130
|
name: rails
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
133
|
- - '='
|
134
134
|
- !ruby/object:Gem::Version
|
135
|
-
version:
|
135
|
+
version: 7.1.0
|
136
136
|
type: :development
|
137
137
|
prerelease: false
|
138
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
140
|
- - '='
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
142
|
+
version: 7.1.0
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
144
|
name: rspec-rails
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
147
|
- - "~>"
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
149
|
+
version: 6.0.3
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - "~>"
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: 6.0.3
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
|
+
name: sprockets-rails
|
159
|
+
requirement: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - "~>"
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: 3.4.2
|
150
164
|
type: :development
|
151
165
|
prerelease: false
|
152
166
|
version_requirements: !ruby/object:Gem::Requirement
|
153
167
|
requirements:
|
154
168
|
- - "~>"
|
155
169
|
- !ruby/object:Gem::Version
|
156
|
-
version:
|
170
|
+
version: 3.4.2
|
157
171
|
- !ruby/object:Gem::Dependency
|
158
172
|
name: psych
|
159
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,8 +236,9 @@ files:
|
|
222
236
|
- README.md
|
223
237
|
- config.gemspec
|
224
238
|
- lib/config.rb
|
225
|
-
- lib/config/compatibility.rb
|
226
239
|
- lib/config/configuration.rb
|
240
|
+
- lib/config/dry_validation_requirements.rb
|
241
|
+
- lib/config/error.rb
|
227
242
|
- lib/config/integrations/heroku.rb
|
228
243
|
- lib/config/integrations/rails/railtie.rb
|
229
244
|
- lib/config/integrations/sinatra.rb
|
@@ -247,9 +262,12 @@ files:
|
|
247
262
|
homepage: https://github.com/rubyconfig/config
|
248
263
|
licenses:
|
249
264
|
- MIT
|
250
|
-
metadata:
|
251
|
-
|
252
|
-
|
265
|
+
metadata:
|
266
|
+
changelog_uri: https://github.com/rubyconfig/config/blob/master/CHANGELOG.md
|
267
|
+
funding_uri: https://opencollective.com/rubyconfig/donate
|
268
|
+
source_code_uri: https://github.com/rubyconfig/config
|
269
|
+
bug_tracker_uri: https://github.com/rubyconfig/config/issues
|
270
|
+
post_install_message:
|
253
271
|
rdoc_options:
|
254
272
|
- "--charset=UTF-8"
|
255
273
|
require_paths:
|
@@ -265,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
265
283
|
- !ruby/object:Gem::Version
|
266
284
|
version: '0'
|
267
285
|
requirements: []
|
268
|
-
rubygems_version: 3.4
|
286
|
+
rubygems_version: 3.5.4
|
269
287
|
signing_key:
|
270
288
|
specification_version: 4
|
271
289
|
summary: Effortless multi-environment settings in Rails, Sinatra, Padrino and others
|
data/lib/config/compatibility.rb
DELETED