complex_config 0.19.3 → 0.20.0

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: b4a1562a55eb1a93435d27f476d78745853d6cd92f9f2f509bb6f0222625e218
4
- data.tar.gz: cd505065b7d309a0d3fb0309d3e77fae65044b711632c8c0abe04fd0a74d14ea
3
+ metadata.gz: 0a383ead2fa3f869b63ae75a7e32321a86027440d387942020721b8b68b1d081
4
+ data.tar.gz: 95e904f31eff85a43ec1c10ab255f0956152ef2208bc33f4c8a0a2d81eb49cbf
5
5
  SHA512:
6
- metadata.gz: bc0ec49f9ad9e50e010a1aa3632fd96a6efd436b6c0cd7f7d441248e0361f5f16dfaea68507a6218ceef145912034155362370a94b363832bab247152f205e0d
7
- data.tar.gz: 01a5162d15b3e2c02a3454fc190de89b1fc1ddd25c3bc5e83532542c41e7dc2df0bb612bf03a87a9b7327c362079e0e58da75ab63652b0da6af722d3b72049a9
6
+ metadata.gz: e77f6fc234a0c5e39cb51706d102252b8d809592529b6642b06931532849e9aa740fd395d325fc6e1e2172623677c1d3390fa2afcc012effaf8a01a440791aca
7
+ data.tar.gz: d5f857481ebf24869540d53aa31fe021f54ff1cd4759b935236e63d0c2305ced2be867c9e34f2997f5b3fdd6825cac028ef3d7722de409c0e307125d2c811e71
data/.all_images.yml CHANGED
@@ -7,11 +7,10 @@ script: &script |-
7
7
  ruby -v
8
8
  echo -e "\e[0m"
9
9
  bundle
10
- rake test
10
+ rake spec
11
11
 
12
12
  images:
13
+ ruby:3.3-alpine: *script
14
+ ruby:3.2-alpine: *script
13
15
  ruby:3.1-alpine: *script
14
16
  ruby:3.0-alpine: *script
15
- ruby:2.7-alpine: *script
16
- ruby:2.6-alpine: *script
17
- ruby:2.5-alpine: *script
data/Rakefile CHANGED
@@ -23,11 +23,13 @@ GemHadar do
23
23
  dependency 'json'
24
24
  dependency 'tins'
25
25
  dependency 'mize', '~> 0.3', '>= 0.3.4'
26
+ dependency 'base64'
26
27
  development_dependency 'rake'
27
28
  development_dependency 'simplecov'
28
29
  development_dependency 'rspec'
29
30
  development_dependency 'monetize'
30
31
  development_dependency 'utils'
32
+ development_dependency 'debug'
31
33
  end
32
34
 
33
35
  task :default => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.19.3
1
+ 0.20.0
@@ -1,49 +1,37 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: complex_config 0.19.3 ruby lib
2
+ # stub: complex_config 0.20.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "complex_config".freeze
6
- s.version = "0.19.3"
6
+ s.version = "0.20.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2022-05-19"
11
+ s.date = "2024-04-17"
12
12
  s.description = "This library allows you to access configuration files via a simple interface".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["complex_config".freeze]
15
15
  s.extra_rdoc_files = ["README.md".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze]
16
- s.files = [".all_images.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/complex_config".freeze, "complex_config.gemspec".freeze, "config/products.yml".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze, "spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/config/broken_config.yml".freeze, "spec/config/config.yml".freeze, "spec/config/config_with_alias.yml".freeze, "spec/config/master.key".freeze, "spec/config/with-key-file.yml.enc".freeze, "spec/config/with-key-file.yml.key".freeze, "spec/config/without-key-file.yml.enc".freeze, "spec/spec_helper.rb".freeze]
16
+ s.files = [".all_images.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/complex_config".freeze, "complex_config.gemspec".freeze, "config/products.yml".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze, "spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/config/broken_config.yml".freeze, "spec/config/config.yml".freeze, "spec/config/config_with_alias.yml".freeze, "spec/config/legacy_classes.yml".freeze, "spec/config/master.key".freeze, "spec/config/with-key-file.yml.enc".freeze, "spec/config/with-key-file.yml.key".freeze, "spec/config/without-key-file.yml.enc".freeze, "spec/spec_helper.rb".freeze]
17
17
  s.homepage = "https://github.com/flori/complex_config".freeze
18
18
  s.licenses = ["Apache-2.0".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "ComplexConfig -- configuration library".freeze, "--main".freeze, "README.md".freeze]
20
- s.rubygems_version = "3.3.13".freeze
20
+ s.rubygems_version = "3.5.3".freeze
21
21
  s.summary = "configuration library".freeze
22
22
  s.test_files = ["spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/spec_helper.rb".freeze]
23
23
 
24
- if s.respond_to? :specification_version then
25
- s.specification_version = 4
26
- end
24
+ s.specification_version = 4
27
25
 
28
- if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
31
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
33
- s.add_development_dependency(%q<monetize>.freeze, [">= 0"])
34
- s.add_development_dependency(%q<utils>.freeze, [">= 0"])
35
- s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
36
- s.add_runtime_dependency(%q<tins>.freeze, [">= 0"])
37
- s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
38
- else
39
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
40
- s.add_dependency(%q<rake>.freeze, [">= 0"])
41
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
42
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
43
- s.add_dependency(%q<monetize>.freeze, [">= 0"])
44
- s.add_dependency(%q<utils>.freeze, [">= 0"])
45
- s.add_dependency(%q<json>.freeze, [">= 0"])
46
- s.add_dependency(%q<tins>.freeze, [">= 0"])
47
- s.add_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
48
- end
26
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.15.0".freeze])
27
+ s.add_development_dependency(%q<rake>.freeze, [">= 0".freeze])
28
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
29
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0".freeze])
30
+ s.add_development_dependency(%q<monetize>.freeze, [">= 0".freeze])
31
+ s.add_development_dependency(%q<utils>.freeze, [">= 0".freeze])
32
+ s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
33
+ s.add_runtime_dependency(%q<json>.freeze, [">= 0".freeze])
34
+ s.add_runtime_dependency(%q<tins>.freeze, [">= 0".freeze])
35
+ s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.3".freeze, ">= 0.3.4".freeze])
36
+ s.add_runtime_dependency(%q<base64>.freeze, [">= 0".freeze])
49
37
  end
@@ -10,8 +10,8 @@ class ComplexConfig::Provider
10
10
  include ComplexConfig::Provider::Shortcuts
11
11
 
12
12
  def initialize
13
- @plugins = Set.new
14
- @deep_freeze = true
13
+ @plugins = Set.new
14
+ @deep_freeze = true
15
15
  end
16
16
 
17
17
  attr_writer :master_key_pathname
@@ -103,7 +103,7 @@ class ComplexConfig::Provider
103
103
  if ::Psych::VERSION < "4"
104
104
  results.map { |r| ::YAML.load(r, pathname) }
105
105
  else
106
- results.map { |r| ::YAML.load(r, filename: pathname, aliases: true) }
106
+ results.map { |r| ::YAML.unsafe_load(r, filename: pathname) }
107
107
  end
108
108
  settings = ComplexConfig::Settings.build(name, hashes.shift)
109
109
  hashes.each { |h| settings.attributes_update(h) }
@@ -1,6 +1,6 @@
1
1
  module ComplexConfig
2
2
  # ComplexConfig version
3
- VERSION = '0.19.3'
3
+ VERSION = '0.20.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -108,6 +108,13 @@ RSpec.describe ComplexConfig::Provider do
108
108
  expect { described_class.config(asset('broken_config.yml')) }.to\
109
109
  raise_error(ComplexConfig::ConfigurationSyntaxError)
110
110
  end
111
+
112
+ it 'can read a configuration file with YAML legacy class' do
113
+ settings = described_class.config(asset('legacy_classes.yml'))
114
+ expect(settings).to be_a ComplexConfig::Settings
115
+ expect(settings.symbol).to eq :symbol
116
+ expect(settings.date).to be_a Date
117
+ end
111
118
  end
112
119
 
113
120
  context 'writing configurations' do
@@ -0,0 +1,2 @@
1
+ symbol: :symbol
2
+ date: <%= Date.today %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: complex_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.3
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-19 00:00:00.000000000 Z
11
+ date: 2024-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.0
19
+ version: 1.15.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.12.0
26
+ version: 1.15.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: debug
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: json
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +156,20 @@ dependencies:
142
156
  - - ">="
143
157
  - !ruby/object:Gem::Version
144
158
  version: 0.3.4
159
+ - !ruby/object:Gem::Dependency
160
+ name: base64
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
145
173
  description: This library allows you to access configuration files via a simple interface
146
174
  email: flori@ping.de
147
175
  executables:
@@ -203,6 +231,7 @@ files:
203
231
  - spec/config/broken_config.yml
204
232
  - spec/config/config.yml
205
233
  - spec/config/config_with_alias.yml
234
+ - spec/config/legacy_classes.yml
206
235
  - spec/config/master.key
207
236
  - spec/config/with-key-file.yml.enc
208
237
  - spec/config/with-key-file.yml.key
@@ -231,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
260
  - !ruby/object:Gem::Version
232
261
  version: '0'
233
262
  requirements: []
234
- rubygems_version: 3.3.13
263
+ rubygems_version: 3.5.3
235
264
  signing_key:
236
265
  specification_version: 4
237
266
  summary: configuration library