config 1.7.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,51 +7,48 @@ Gem::Specification.new do |s|
7
7
  s.version = Config::VERSION
8
8
  s.date = Time.now.strftime '%F'
9
9
  s.authors = ['Piotr Kuczynski', 'Fred Wu', 'Jacques Crocker']
10
- s.email = %w(piotr.kuczynski@gmail.com ifredwu@gmail.com railsjedi@gmail.com)
10
+ s.email = %w[piotr.kuczynski@gmail.com ifredwu@gmail.com railsjedi@gmail.com]
11
11
  s.summary = 'Effortless multi-environment settings in Rails, Sinatra, Pandrino and others'
12
12
  s.description = 'Easiest way to manage multi-environment settings in any ruby project or framework: ' +
13
13
  'Rails, Sinatra, Pandrino and others'
14
- s.homepage = 'https://github.com/railsconfig/config'
14
+ s.homepage = 'https://github.com/rubyconfig/config'
15
15
  s.license = 'MIT'
16
- s.extra_rdoc_files = %w(README.md CHANGELOG.md LICENSE.md)
16
+ s.extra_rdoc_files = %w[README.md CHANGELOG.md CONTRIBUTING.md LICENSE.md]
17
17
  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"
18
22
 
19
23
  s.files = `git ls-files`.split($/)
20
- s.files.select! { |file| /(^lib\/|\.md$|\.gemspec$)/ =~ file }
21
- s.files += Dir.glob('doc/**/*')
24
+ s.files.select! { |file| /(^lib\/|^\w+.md$|\.gemspec$)/ =~ file }
22
25
 
23
26
  s.require_paths = ['lib']
24
- s.required_ruby_version = '>= 2.0.0'
27
+ s.required_ruby_version = '>= 2.4.0'
25
28
 
26
- s.add_dependency 'activesupport', '>= 3.0'
27
- s.add_dependency 'deep_merge', '~> 1.2.1'
29
+ s.add_dependency 'deep_merge', '~> 1.2', '>= 1.2.1'
30
+ s.add_dependency 'dry-validation', '~> 1.0', '>= 1.0.0'
28
31
 
29
- s.add_dependency 'dry-validation', '>= 0.10.7' if RUBY_VERSION >= '2.1' && RUBY_VERSION < '2.2'
30
- s.add_dependency 'dry-validation', '>= 0.12.2' if RUBY_VERSION >= '2.2'
31
-
32
- s.add_development_dependency 'bundler', '~> 1.13', '>= 1.13.6'
33
- s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
32
+ s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
34
33
 
35
34
  # Testing
36
- s.add_development_dependency 'appraisal', '~> 2.2', '>= 2.2.0'
37
- s.add_development_dependency 'rails', '~> 5.2', '>= 5.2.2'
38
- s.add_development_dependency 'rspec', '~> 3.7', '>= 3.7.0'
39
- s.add_development_dependency 'rspec-rails', '~> 3.7', '>= 3.7.2'
40
- s.add_development_dependency 'test-unit', '~> 3.2', '>= 3.2.7'
41
- s.add_development_dependency 'sqlite3', '~> 1.3', '>= 1.3.13'
42
-
43
- # Static code analysis
44
- s.add_development_dependency 'mdl', '~> 0.5', '>= 0.5.0'
45
-
46
- # Version 0.51 drops support for Ruby 2.0
47
- s.add_development_dependency 'rubocop', '~> 0.50', '< 0.51' if RUBY_VERSION < '2.1'
48
- # Version 0.58 drops support for Ruby 2.1
49
- s.add_development_dependency 'rubocop', '~> 0.57', '< 0.58' if RUBY_VERSION >= '2.1' && RUBY_VERSION < '2.2'
50
- # Version 0.62 requires Ruby 2.2
51
- s.add_development_dependency 'rubocop', '~> 0.62' if RUBY_VERSION >= '2.2'
52
-
53
- if ENV['TRAVIS']
54
- s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.9'
55
- s.add_development_dependency 'simplecov', '~> 0.13.0'
35
+ s.add_development_dependency 'appraisal', '~> 2.3', '>= 2.3.0'
36
+ s.add_development_dependency 'rspec', '~> 3.9', '>= 3.9.0'
37
+
38
+ # Default RSpec run will test against latest Rails app
39
+ unless ENV['APPRAISAL_INITIALIZED'] || ENV['GITHUB_ACTIONS']
40
+ gems_to_install = /gem "(.*?)", "(.*?)"(?!, platform: (?!\[:ruby\]))/
41
+ File.read(Dir['gemfiles/rails*.gemfile'].sort.last).scan(gems_to_install) do |name, version|
42
+ s.add_development_dependency name, version
43
+ end
44
+ end
45
+
46
+ if ENV['GITHUB_ACTIONS']
47
+ # Code coverage is needed only in CI
48
+ s.add_development_dependency 'simplecov', '~> 0.18.5' if RUBY_ENGINE == 'ruby'
49
+ else
50
+ # Static code analysis to be used locally
51
+ s.add_development_dependency 'mdl', '~> 0.9', '>= 0.9.0'
52
+ s.add_development_dependency 'rubocop', '~> 0.85.0'
56
53
  end
57
54
  end
@@ -1,39 +1,34 @@
1
- require 'active_support/core_ext/module/attribute_accessors'
2
-
3
1
  require 'config/compatibility'
4
2
  require 'config/options'
3
+ require 'config/configuration'
5
4
  require 'config/version'
6
- require 'config/integrations/rails/engine' if defined?(::Rails)
7
5
  require 'config/sources/yaml_source'
8
6
  require 'config/sources/hash_source'
9
- require 'config/validation/schema' if RUBY_VERSION >= '2.1'
7
+ require 'config/validation/schema'
10
8
  require 'deep_merge'
11
9
 
12
10
  module Config
13
- extend Config::Validation::Schema if RUBY_VERSION >= '2.1'
14
-
15
- # Ensures the setup only gets run once
16
- @@_ran_once = false
17
-
18
- mattr_accessor :const_name, :use_env, :env_prefix, :env_separator,
19
- :env_converter, :env_parse_values, :fail_on_missing
20
- @@const_name = 'Settings'
21
- @@use_env = false
22
- @@env_prefix = @@const_name
23
- @@env_separator = '.'
24
- @@env_converter = :downcase
25
- @@env_parse_values = true
26
- @@fail_on_missing = false
27
-
28
- # deep_merge options
29
- mattr_accessor :knockout_prefix, :merge_nil_values, :overwrite_arrays
30
- @@knockout_prefix = nil
31
- @@merge_nil_values = true
32
- @@overwrite_arrays = true
11
+ extend Config::Validation::Schema
12
+ extend Config::Configuration.new(
13
+ # general options
14
+ const_name: 'Settings',
15
+ use_env: false,
16
+ env_prefix: 'Settings',
17
+ env_separator: '.',
18
+ env_converter: :downcase,
19
+ env_parse_values: true,
20
+ fail_on_missing: false,
21
+ # deep_merge options
22
+ knockout_prefix: nil,
23
+ merge_nil_values: true,
24
+ overwrite_arrays: true,
25
+ merge_hash_arrays: false,
26
+ validation_contract: nil
27
+ )
33
28
 
34
29
  def self.setup
35
- yield self if @@_ran_once == false
36
- @@_ran_once = true
30
+ yield self unless @_ran_once
31
+ @_ran_once = true
37
32
  end
38
33
 
39
34
  # Create a populated Options instance from a settings file. If a second file is given, then the sections of that
@@ -47,30 +42,35 @@ module Config
47
42
  end
48
43
 
49
44
  config.load!
50
- config.load_env! if @@use_env
51
45
  config
52
46
  end
53
47
 
54
48
  # Loads and sets the settings constant!
55
49
  def self.load_and_set_settings(*files)
56
- Kernel.send(:remove_const, Config.const_name) if Kernel.const_defined?(Config.const_name)
57
- Kernel.const_set(Config.const_name, Config.load_files(files))
50
+ name = Config.const_name
51
+ Object.send(:remove_const, name) if Object.const_defined?(name)
52
+ Object.const_set(name, Config.load_files(files))
58
53
  end
59
54
 
60
55
  def self.setting_files(config_root, env)
61
56
  [
62
- File.join(config_root, "settings.yml").to_s,
63
- File.join(config_root, "settings", "#{env}.yml").to_s,
64
- File.join(config_root, "environments", "#{env}.yml").to_s,
65
-
66
- File.join(config_root, "settings.local.yml").to_s,
67
- File.join(config_root, "settings", "#{env}.local.yml").to_s,
68
- File.join(config_root, "environments", "#{env}.local.yml").to_s
57
+ File.join(config_root, 'settings.yml').to_s,
58
+ File.join(config_root, 'settings', "#{env}.yml").to_s,
59
+ File.join(config_root, 'environments', "#{env}.yml").to_s,
60
+ *local_setting_files(config_root, env)
69
61
  ].freeze
70
62
  end
71
63
 
64
+ def self.local_setting_files(config_root, env)
65
+ [
66
+ (File.join(config_root, 'settings.local.yml').to_s if env != 'test'),
67
+ File.join(config_root, 'settings', "#{env}.local.yml").to_s,
68
+ File.join(config_root, 'environments', "#{env}.local.yml").to_s
69
+ ].compact
70
+ end
71
+
72
72
  def self.reload!
73
- Kernel.const_get(Config.const_name).reload!
73
+ Object.const_get(Config.const_name).reload!
74
74
  end
75
75
  end
76
76
 
@@ -0,0 +1,36 @@
1
+ module Config
2
+ # The main configuration backbone
3
+ class Configuration < Module
4
+ # Accepts configuration options,
5
+ # initializing a module that can be used to extend
6
+ # the necessary class with the provided config methods
7
+ def initialize(**attributes)
8
+ attributes.each do |name, default|
9
+ define_reader(name, default)
10
+ define_writer(name)
11
+ end
12
+ end
13
+
14
+ private
15
+
16
+ def define_reader(name, default)
17
+ variable = :"@#{name}"
18
+
19
+ define_method(name) do
20
+ if instance_variable_defined?(variable)
21
+ instance_variable_get(variable)
22
+ else
23
+ default
24
+ end
25
+ end
26
+ end
27
+
28
+ def define_writer(name)
29
+ variable = :"@#{name}"
30
+
31
+ define_method("#{name}=") do |value|
32
+ instance_variable_set(variable, value)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -23,7 +23,7 @@ module Config
23
23
  # Development environment should reload settings on every request
24
24
  if ::Rails.env.development?
25
25
  initializer :config_reload_on_development do
26
- ActionController::Base.class_eval do
26
+ ActiveSupport.on_load :action_controller_base do
27
27
  if ::Rails::VERSION::MAJOR >= 4
28
28
  prepend_before_action { ::Config.reload! }
29
29
  else
@@ -1,10 +1,10 @@
1
1
  require 'ostruct'
2
- require 'config/validation/validate' if RUBY_VERSION >= '2.1'
2
+ require 'config/validation/validate'
3
3
 
4
4
  module Config
5
5
  class Options < OpenStruct
6
6
  include Enumerable
7
- include Validation::Validate if RUBY_VERSION >= '2.1'
7
+ include Validation::Validate
8
8
 
9
9
  def keys
10
10
  marshal_dump.keys
@@ -82,7 +82,8 @@ module Config
82
82
  preserve_unmergeables: false,
83
83
  knockout_prefix: Config.knockout_prefix,
84
84
  overwrite_arrays: Config.overwrite_arrays,
85
- merge_nil_values: Config.merge_nil_values
85
+ merge_nil_values: Config.merge_nil_values,
86
+ merge_hash_arrays: Config.merge_hash_arrays
86
87
  )
87
88
  end
88
89
  end
@@ -91,7 +92,7 @@ module Config
91
92
  marshal_load(__convert(conf).marshal_dump)
92
93
 
93
94
  reload_env! if Config.use_env
94
- validate! if RUBY_VERSION >= '2.1'
95
+ validate!
95
96
 
96
97
  self
97
98
  end
@@ -117,6 +118,8 @@ module Config
117
118
  result
118
119
  end
119
120
 
121
+ alias :to_h :to_hash
122
+
120
123
  def each(*args, &block)
121
124
  marshal_dump.each(*args, &block)
122
125
  end
@@ -126,6 +129,10 @@ module Config
126
129
  to_hash.to_json(*args)
127
130
  end
128
131
 
132
+ def as_json(options = nil)
133
+ to_hash.as_json(options)
134
+ end
135
+
129
136
  def merge!(hash)
130
137
  current = to_hash
131
138
  DeepMerge.deep_merge!(
@@ -134,14 +141,15 @@ module Config
134
141
  preserve_unmergeables: false,
135
142
  knockout_prefix: Config.knockout_prefix,
136
143
  overwrite_arrays: Config.overwrite_arrays,
137
- merge_nil_values: Config.merge_nil_values
144
+ merge_nil_values: Config.merge_nil_values,
145
+ merge_hash_arrays: Config.merge_hash_arrays
138
146
  )
139
147
  marshal_load(__convert(current).marshal_dump)
140
148
  self
141
149
  end
142
150
 
143
151
  # Some keywords that don't play nicely with OpenStruct
144
- SETTINGS_RESERVED_NAMES = %w[select collect test count zip].freeze
152
+ SETTINGS_RESERVED_NAMES = %w[select collect test count zip min max exit!].freeze
145
153
 
146
154
  # An alternative mechanism for property access.
147
155
  # This let's you do foo['bar'] along with foo.bar.
@@ -199,7 +207,6 @@ module Config
199
207
 
200
208
  h.each do |k, v|
201
209
  k = k.to_s if !k.respond_to?(:to_sym) && k.respond_to?(:to_s)
202
- s.new_ostruct_member(k)
203
210
 
204
211
  if v.is_a?(Hash)
205
212
  v = v["type"] == "hash" ? v["contents"] : __convert(v)
@@ -207,7 +214,7 @@ module Config
207
214
  v = v.collect { |e| e.instance_of?(Hash) ? __convert(e) : e }
208
215
  end
209
216
 
210
- s.send("#{k}=".to_sym, v)
217
+ s[k] = v
211
218
  end
212
219
  s
213
220
  end
@@ -3,20 +3,9 @@ module Config
3
3
  class Error < StandardError
4
4
 
5
5
  def self.format(v_res)
6
- flatten_hash(v_res.messages).map do |field, msgs|
7
- "#{' ' * 2}#{field}: #{msgs.join('; ')}"
8
- end.join('\n')
9
- end
10
-
11
- def self.flatten_hash(h, acc={}, pref=[])
12
- h.inject(acc) do |a, (k, v)|
13
- if v.is_a?(Hash)
14
- flatten_hash(v, acc, pref + [k])
15
- else
16
- acc[(pref + [k]).join('.')] = v
17
- acc
18
- end
19
- end
6
+ v_res.errors.group_by(&:path).map do |path, messages|
7
+ "#{' ' * 2}#{path.join('.')}: #{messages.map(&:text).join('; ')}"
8
+ end.join("\n")
20
9
  end
21
10
 
22
11
  end
@@ -1,21 +1,20 @@
1
- require 'dry-validation'
2
- require 'config/validation/schema'
3
-
4
1
  module Config
5
2
  module Validation
6
3
  module Schema
7
-
8
- mattr_writer :schema
9
- @@schema = nil
4
+ # Assigns schema configuration option
5
+ def schema=(value)
6
+ @schema = value
7
+ end
10
8
 
11
9
  def schema(&block)
12
10
  if block_given?
13
- @@schema = Dry::Validation.Schema(&block)
11
+ # Delay require until optional schema validation is requested
12
+ require 'dry-validation'
13
+ @schema = Dry::Schema.define(&block)
14
14
  else
15
- @@schema
15
+ @schema
16
16
  end
17
17
  end
18
-
19
18
  end
20
19
  end
21
20
  end
@@ -3,18 +3,23 @@ require 'config/validation/error'
3
3
  module Config
4
4
  module Validation
5
5
  module Validate
6
-
7
6
  def validate!
8
- if Config.schema
9
- v_res = Config.schema.(self.to_hash)
7
+ validate_using!(Config.validation_contract)
8
+ validate_using!(Config.schema)
9
+ end
10
+
11
+ private
10
12
 
11
- unless v_res.success?
12
- error = Config::Validation::Error.format(v_res)
13
- raise Config::Validation::Error.new("Config validation failed:\n\n#{error}")
14
- end
13
+ def validate_using!(validator)
14
+ if validator
15
+ result = validator.call(to_hash)
16
+
17
+ return if result.success?
18
+
19
+ error = Config::Validation::Error.format(result)
20
+ raise Config::Validation::Error, "Config validation failed:\n\n#{error}"
15
21
  end
16
22
  end
17
-
18
23
  end
19
24
  end
20
25
  end
@@ -1,3 +1,3 @@
1
1
  module Config
2
- VERSION = '1.7.1'
2
+ VERSION = '2.2.2'.freeze
3
3
  end
@@ -21,7 +21,12 @@ Config.setup do |config|
21
21
 
22
22
  # Define ENV variable prefix deciding which variables to load into config.
23
23
  #
24
- # config.env_prefix = 'Settings'
24
+ # Reading variables from ENV is case-sensitive. If you define lowercase value below, ensure your ENV variables are
25
+ # prefixed in the same way.
26
+ #
27
+ # When not set it defaults to `config.const_name`.
28
+ #
29
+ config.env_prefix = 'SETTINGS'
25
30
 
26
31
  # What string to use as level separator for settings loaded from ENV variables. Default value of '.' works well
27
32
  # with Heroku, but you might want to change it for example for '__' to easy override settings from command line, where
metadata CHANGED
@@ -1,36 +1,25 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Kuczynski
8
8
  - Fred Wu
9
9
  - Jacques Crocker
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-01-02 00:00:00.000000000 Z
13
+ date: 2020-12-08 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activesupport
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '3.0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: '3.0'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: deep_merge
31
17
  requirement: !ruby/object:Gem::Requirement
32
18
  requirements:
33
19
  - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.2'
22
+ - - ">="
34
23
  - !ruby/object:Gem::Version
35
24
  version: 1.2.1
36
25
  type: :runtime
@@ -39,215 +28,166 @@ dependencies:
39
28
  requirements:
40
29
  - - "~>"
41
30
  - !ruby/object:Gem::Version
42
- version: 1.2.1
43
- - !ruby/object:Gem::Dependency
44
- name: dry-validation
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 0.12.2
50
- type: :runtime
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
31
+ version: '1.2'
54
32
  - - ">="
55
33
  - !ruby/object:Gem::Version
56
- version: 0.12.2
34
+ version: 1.2.1
57
35
  - !ruby/object:Gem::Dependency
58
- name: bundler
36
+ name: dry-validation
59
37
  requirement: !ruby/object:Gem::Requirement
60
38
  requirements:
61
39
  - - "~>"
62
40
  - !ruby/object:Gem::Version
63
- version: '1.13'
41
+ version: '1.0'
64
42
  - - ">="
65
43
  - !ruby/object:Gem::Version
66
- version: 1.13.6
67
- type: :development
44
+ version: 1.0.0
45
+ type: :runtime
68
46
  prerelease: false
69
47
  version_requirements: !ruby/object:Gem::Requirement
70
48
  requirements:
71
49
  - - "~>"
72
50
  - !ruby/object:Gem::Version
73
- version: '1.13'
51
+ version: '1.0'
74
52
  - - ">="
75
53
  - !ruby/object:Gem::Version
76
- version: 1.13.6
54
+ version: 1.0.0
77
55
  - !ruby/object:Gem::Dependency
78
56
  name: rake
79
57
  requirement: !ruby/object:Gem::Requirement
80
58
  requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 12.0.0
84
59
  - - "~>"
85
60
  - !ruby/object:Gem::Version
86
61
  version: '12.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 12.0.0
87
65
  type: :development
88
66
  prerelease: false
89
67
  version_requirements: !ruby/object:Gem::Requirement
90
68
  requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: 12.0.0
94
69
  - - "~>"
95
70
  - !ruby/object:Gem::Version
96
71
  version: '12.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 12.0.0
97
75
  - !ruby/object:Gem::Dependency
98
76
  name: appraisal
99
77
  requirement: !ruby/object:Gem::Requirement
100
78
  requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: 2.2.0
104
79
  - - "~>"
105
80
  - !ruby/object:Gem::Version
106
- version: '2.2'
81
+ version: '2.3'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 2.3.0
107
85
  type: :development
108
86
  prerelease: false
109
87
  version_requirements: !ruby/object:Gem::Requirement
110
88
  requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: 2.2.0
114
89
  - - "~>"
115
90
  - !ruby/object:Gem::Version
116
- version: '2.2'
91
+ version: '2.3'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 2.3.0
117
95
  - !ruby/object:Gem::Dependency
118
- name: rails
96
+ name: rspec
119
97
  requirement: !ruby/object:Gem::Requirement
120
98
  requirements:
121
99
  - - "~>"
122
100
  - !ruby/object:Gem::Version
123
- version: '5.2'
101
+ version: '3.9'
124
102
  - - ">="
125
103
  - !ruby/object:Gem::Version
126
- version: 5.2.2
104
+ version: 3.9.0
127
105
  type: :development
128
106
  prerelease: false
129
107
  version_requirements: !ruby/object:Gem::Requirement
130
108
  requirements:
131
109
  - - "~>"
132
110
  - !ruby/object:Gem::Version
133
- version: '5.2'
111
+ version: '3.9'
134
112
  - - ">="
135
113
  - !ruby/object:Gem::Version
136
- version: 5.2.2
114
+ version: 3.9.0
137
115
  - !ruby/object:Gem::Dependency
138
- name: rspec
116
+ name: bootsnap
139
117
  requirement: !ruby/object:Gem::Requirement
140
118
  requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: 3.7.0
144
119
  - - "~>"
145
120
  - !ruby/object:Gem::Version
146
- version: '3.7'
121
+ version: '1.4'
147
122
  type: :development
148
123
  prerelease: false
149
124
  version_requirements: !ruby/object:Gem::Requirement
150
125
  requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: 3.7.0
154
126
  - - "~>"
155
127
  - !ruby/object:Gem::Version
156
- version: '3.7'
128
+ version: '1.4'
157
129
  - !ruby/object:Gem::Dependency
158
- name: rspec-rails
130
+ name: rails
159
131
  requirement: !ruby/object:Gem::Requirement
160
132
  requirements:
161
- - - "~>"
162
- - !ruby/object:Gem::Version
163
- version: '3.7'
164
- - - ">="
133
+ - - '='
165
134
  - !ruby/object:Gem::Version
166
- version: 3.7.2
135
+ version: 6.0.3.1
167
136
  type: :development
168
137
  prerelease: false
169
138
  version_requirements: !ruby/object:Gem::Requirement
170
139
  requirements:
171
- - - "~>"
140
+ - - '='
172
141
  - !ruby/object:Gem::Version
173
- version: '3.7'
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- version: 3.7.2
142
+ version: 6.0.3.1
177
143
  - !ruby/object:Gem::Dependency
178
- name: test-unit
144
+ name: rspec-rails
179
145
  requirement: !ruby/object:Gem::Requirement
180
146
  requirements:
181
147
  - - "~>"
182
148
  - !ruby/object:Gem::Version
183
- version: '3.2'
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: 3.2.7
149
+ version: '3.7'
187
150
  type: :development
188
151
  prerelease: false
189
152
  version_requirements: !ruby/object:Gem::Requirement
190
153
  requirements:
191
154
  - - "~>"
192
155
  - !ruby/object:Gem::Version
193
- version: '3.2'
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: 3.2.7
156
+ version: '3.7'
197
157
  - !ruby/object:Gem::Dependency
198
- name: sqlite3
158
+ name: mdl
199
159
  requirement: !ruby/object:Gem::Requirement
200
160
  requirements:
201
161
  - - "~>"
202
162
  - !ruby/object:Gem::Version
203
- version: '1.3'
163
+ version: '0.9'
204
164
  - - ">="
205
165
  - !ruby/object:Gem::Version
206
- version: 1.3.13
166
+ version: 0.9.0
207
167
  type: :development
208
168
  prerelease: false
209
169
  version_requirements: !ruby/object:Gem::Requirement
210
170
  requirements:
211
171
  - - "~>"
212
172
  - !ruby/object:Gem::Version
213
- version: '1.3'
214
- - - ">="
215
- - !ruby/object:Gem::Version
216
- version: 1.3.13
217
- - !ruby/object:Gem::Dependency
218
- name: mdl
219
- requirement: !ruby/object:Gem::Requirement
220
- requirements:
221
- - - ">="
222
- - !ruby/object:Gem::Version
223
- version: 0.5.0
224
- - - "~>"
225
- - !ruby/object:Gem::Version
226
- version: '0.5'
227
- type: :development
228
- prerelease: false
229
- version_requirements: !ruby/object:Gem::Requirement
230
- requirements:
173
+ version: '0.9'
231
174
  - - ">="
232
175
  - !ruby/object:Gem::Version
233
- version: 0.5.0
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: '0.5'
176
+ version: 0.9.0
237
177
  - !ruby/object:Gem::Dependency
238
178
  name: rubocop
239
179
  requirement: !ruby/object:Gem::Requirement
240
180
  requirements:
241
181
  - - "~>"
242
182
  - !ruby/object:Gem::Version
243
- version: '0.62'
183
+ version: 0.85.0
244
184
  type: :development
245
185
  prerelease: false
246
186
  version_requirements: !ruby/object:Gem::Requirement
247
187
  requirements:
248
188
  - - "~>"
249
189
  - !ruby/object:Gem::Version
250
- version: '0.62'
190
+ version: 0.85.0
251
191
  description: 'Easiest way to manage multi-environment settings in any ruby project
252
192
  or framework: Rails, Sinatra, Pandrino and others'
253
193
  email:
@@ -259,16 +199,18 @@ extensions: []
259
199
  extra_rdoc_files:
260
200
  - README.md
261
201
  - CHANGELOG.md
202
+ - CONTRIBUTING.md
262
203
  - LICENSE.md
263
204
  files:
264
205
  - CHANGELOG.md
206
+ - CONTRIBUTING.md
265
207
  - LICENSE.md
266
208
  - README.md
267
209
  - config.gemspec
268
210
  - lib/config.rb
269
211
  - lib/config/compatibility.rb
212
+ - lib/config/configuration.rb
270
213
  - lib/config/integrations/heroku.rb
271
- - lib/config/integrations/rails/engine.rb
272
214
  - lib/config/integrations/rails/railtie.rb
273
215
  - lib/config/integrations/sinatra.rb
274
216
  - lib/config/options.rb
@@ -287,14 +229,12 @@ files:
287
229
  - lib/generators/config/templates/settings/development.yml
288
230
  - lib/generators/config/templates/settings/production.yml
289
231
  - lib/generators/config/templates/settings/test.yml
290
- - spec/app/rails_5.1/README.md
291
- - spec/app/rails_5.2/README.md
292
- - spec/app/rails_5/README.md
293
- homepage: https://github.com/railsconfig/config
232
+ homepage: https://github.com/rubyconfig/config
294
233
  licenses:
295
234
  - MIT
296
235
  metadata: {}
297
- post_install_message:
236
+ post_install_message: "\n\e[33mThanks for installing Config\e[0m\nPlease consider
237
+ donating to our open collective to help us maintain this project.\n\n\nDonate: \e[34mhttps://opencollective.com/rubyconfig/donate\e[0m\n"
298
238
  rdoc_options:
299
239
  - "--charset=UTF-8"
300
240
  require_paths:
@@ -303,16 +243,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
243
  requirements:
304
244
  - - ">="
305
245
  - !ruby/object:Gem::Version
306
- version: 2.0.0
246
+ version: 2.4.0
307
247
  required_rubygems_version: !ruby/object:Gem::Requirement
308
248
  requirements:
309
249
  - - ">="
310
250
  - !ruby/object:Gem::Version
311
251
  version: '0'
312
252
  requirements: []
313
- rubyforge_project:
314
- rubygems_version: 2.7.8
315
- signing_key:
253
+ rubygems_version: 3.1.2
254
+ signing_key:
316
255
  specification_version: 4
317
256
  summary: Effortless multi-environment settings in Rails, Sinatra, Pandrino and others
318
257
  test_files: []