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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8e3673269abb8919961385bf27374aac4125d46988f5f69114feb7b2d36ef30
4
- data.tar.gz: 040fff3a658f33f09da8296079a0672b28fbce8e3e6333c8dfacdfb8a239e998
3
+ metadata.gz: 7d45b7406d553675ee52e72b0844d60c2bf2f1f27bc8c29fb1833cbe86ca92d3
4
+ data.tar.gz: 234c1d664bc25031df364c3a8a3384544862cfb39b838c6c1b39e5d28687ea70
5
5
  SHA512:
6
- metadata.gz: 859eda030f5b0ac224a367359f4fc8c1af2a45eab726c74691db3da79fd3f2cb8fa6f85011036be6fef7c07600a0f5687e96db2f3a09bb1430755bfb7322cd86
7
- data.tar.gz: 0d233e69e12d0f92d6edd3d588e727905b8bff7d57b93027ec40290131ea3883208e4509db3fff946a30a326a6b34fe6fae340dacb12ea196cb07cd1eb68c850
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 defered 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`.
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 -v 1.17.3
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 simutaneously assign a "flat" value and a multi-level value to a key.
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
- $:.push File.expand_path('../lib', __FILE__)
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.3', '>= 2.3.0'
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
@@ -0,0 +1,4 @@
1
+ module Config
2
+ class Error < StandardError
3
+ end
4
+ end
@@ -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", "settings.local.yml").to_s,
18
- Rails.root.join("config", "settings", "#{environment}.local.yml").to_s,
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
 
@@ -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
- send("#{param}")
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,6 +1,8 @@
1
+ require_relative "../error"
2
+
1
3
  module Config
2
4
  module Validation
3
- class Error < StandardError
5
+ class Error < ::Config::Error
4
6
 
5
7
  def self.format(v_res)
6
8
  v_res.errors.group_by(&:path).map do |path, messages|
@@ -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
- require 'dry-validation'
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
@@ -1,3 +1,3 @@
1
1
  module Config
2
- VERSION = '4.2.1'.freeze
2
+ VERSION = '5.5.1'.freeze
3
3
  end
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, 'settings.yml').to_s,
62
- File.join(config_root, 'settings', "#{env}.yml").to_s,
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, 'settings.local.yml').to_s if env != 'test'),
71
- File.join(config_root, 'settings', "#{env}.local.yml").to_s,
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/settings.yml"
16
- template "settings.local.yml", "config/settings.local.yml"
17
- directory "settings", "config/settings"
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/settings.local.yml\n" +
26
- "config/settings/*.local.yml\n" +
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.2.1
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: 2023-06-14 00:00:00.000000000 Z
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: :runtime
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.3'
81
+ version: '2.5'
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: 2.3.0
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.3'
91
+ version: '2.5'
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 2.3.0
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.4.4
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.4.4
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: 6.1.4
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: 6.1.4
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: '5.0'
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: '5.0'
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
- post_install_message: "\n\e[33mThanks for installing Config\e[0m\nPlease consider
252
- donating to our open collective to help us maintain this project.\n\n\nDonate: \e[34mhttps://opencollective.com/rubyconfig/donate\e[0m\n"
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.13
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
@@ -1,3 +0,0 @@
1
- if defined?(RbConfig) && defined?(Config)
2
- Object.send :remove_const, :Config
3
- end