complex_config 0.19.3 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
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