complex_config 0.19.2 → 0.19.3

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: 3486d5210e50100d17dea40922e6958c06898ba4ec70d3830b58b50160ecdeba
4
- data.tar.gz: ee463ae5164fee75e2a4454b1176b1d31903026924297aca8371814cf6e1649d
3
+ metadata.gz: b4a1562a55eb1a93435d27f476d78745853d6cd92f9f2f509bb6f0222625e218
4
+ data.tar.gz: cd505065b7d309a0d3fb0309d3e77fae65044b711632c8c0abe04fd0a74d14ea
5
5
  SHA512:
6
- metadata.gz: 6ea338ae3b2f8b9ea408d0a2e439afd14f21ba29937f82d33d01f3db6c155513e16108d3647345e3c05031c6ba06433ab9db7d626ba5be427758be6ad51f1981
7
- data.tar.gz: 3cba305f3824ff5da2592283ce698ff7f06d28fe1c9c61caabd6fc77c7f0601664a7a4213bf8b47a14adb88bdb29ee43a44b4220ca9305b441678905d94c2b77
6
+ metadata.gz: bc0ec49f9ad9e50e010a1aa3632fd96a6efd436b6c0cd7f7d441248e0361f5f16dfaea68507a6218ceef145912034155362370a94b363832bab247152f205e0d
7
+ data.tar.gz: 01a5162d15b3e2c02a3454fc190de89b1fc1ddd25c3bc5e83532542c41e7dc2df0bb612bf03a87a9b7327c362079e0e58da75ab63652b0da6af722d3b72049a9
data/.all_images.yml ADDED
@@ -0,0 +1,17 @@
1
+ dockerfile: |-
2
+ RUN apk add --no-cache build-base git
3
+ RUN gem update --system
4
+ RUN gem install gem_hadar bundler
5
+ script: &script |-
6
+ echo -e "\e[1m"
7
+ ruby -v
8
+ echo -e "\e[0m"
9
+ bundle
10
+ rake test
11
+
12
+ images:
13
+ ruby:3.1-alpine: *script
14
+ ruby:3.0-alpine: *script
15
+ ruby:2.7-alpine: *script
16
+ ruby:2.6-alpine: *script
17
+ ruby:2.5-alpine: *script
data/README.md CHANGED
@@ -142,86 +142,6 @@ Here is the `ComplexConfig::Plugins::MONEY` plugin for example:
142
142
  end
143
143
  end
144
144
 
145
- ## Changes
146
-
147
- * 2019-03-18 Release 0.17.0
148
- * Improve error message for missing encryption key
149
- * 2019-03-14 Release 0.16.0
150
- * Enable `- trim_mode` for ERB in yml files
151
- * Allow `to_json` calls on settings
152
- * 2019-03-14 Release 0.15.1
153
- * Fix shared feature for empy top level settings
154
- * 2018-12-07 Release 0.15.0
155
- * Allow inplace recrypt for encrypted files
156
- * 2018-07-06 Release 0.14.0
157
- * Better support for rails encryption
158
- * Adds `complex_config` executable.
159
- * 2018-02-23 Release 0.13.3
160
- Change evaluation order of key sources
161
- * 2018-02-23 Release 0.13.2
162
- Refactor key sources
163
- * 2018-02-09 Release 0.13.1
164
- Improve error reporting for encrypted files (missing key)
165
- * 2018-01-26 Release 0.13.0
166
- Improve `write_config` interface and more tests
167
- * 2017-11-17 Release 0.12.2
168
- Output string keys on top level configs, Rails don't like it otherwise.
169
- * 2017-11-17 Release 0.12.1
170
- Do not output newlines when writing encrypted configs, Rails don't like it.
171
- * 2017-11-16 Release 0.12.0
172
- * Supports writing of configurations (encrypted or unencrypted)
173
- * 2017-11-16 Release 0.11.3
174
- * Small bugfix
175
- * 2017-10-30 Release 0.11.2
176
- * Small bugfix
177
- * 2017-10-27 Release 0.11.1
178
- * Small bugfix
179
- * 2017-10-27 Release 0.11.0
180
- * Support encrypted config files a la rails
181
- * 2017-02-02 Release 0.10.0
182
- * `cc.foo?`/`complex_config.foo?` returns config or nil (when not existant)
183
- * 2017-01-23 Release 0.9.2
184
- * Improve performance for proxy objects
185
- * 2016-11-22 Release 0.9.1
186
- * Fix travis builds
187
- * 2016-11-22 Release 0.9.0
188
- * Extract ComplexConfig::Provider::Shortcuts into its own module
189
- * 2016-07-21 Release 0.8.0
190
- * `ComplexConfig::Settings` can be replaced with `replace_attributes` which
191
- allows for easier testing by calling:
192
- `cc.foo.replace_attributes(new: 'settings')`.
193
- * 2016-07-15 Release 0.7.0
194
- * Slim down `ComplexConfig::Settings` interface to avoid clashes with methods
195
- mixed into `Object` class or `Enumerable#instance_methods`
196
- * 2016-07-15 Release 0.6.0
197
- * Depend on mize gem for caching.
198
- * 2016-06-23 Release 0.5.2
199
- * Resolve index access via the plugin code path, so foo.bar and foo[:bar]
200
- have the same result for a plugin key.
201
- * 2015-11-19 Release 0.5.0
202
- * Support rails reloading behaviour.
203
- * Allow configuration via ComplexConfig.configure(&block) method.
204
- * 2015-11-17 Release 0.4.0
205
- * Add root object for configuration, e. g. cc.name instead of cc(name).
206
- * 2015-11-03 Release 0.3.1
207
- * Add missing dependency to tins.
208
- * 2015-11-03 Release 0.3.0
209
- * Add nicer default output for settings.
210
- * 2015-03-24 Release 0.2.3
211
- * Fix typo in load error case of money.
212
- * 2015-02-25 Release 0.2.2
213
- * Fix an issue with path interpolation.
214
- * 2015-01-28 Release 0.2.1
215
- * Turn monetize into a runtime dependency for the plugin.
216
- * 2015-01-27 Release 0.2.0
217
- * Fix for attributes named like Enumerable methods
218
- * Make tests run on JRuby
219
- * 2015-01-01 Release 0.1.1
220
- * Some small fixes for handling of arrays
221
- * 2014-12-15 Release 0.1.0
222
- * Freeze configuration by default.
223
- * 2014-12-12 Release 0.0.0
224
-
225
145
  ## Download
226
146
 
227
147
  The homepage of this library is located at
data/Rakefile CHANGED
@@ -13,6 +13,8 @@ GemHadar do
13
13
  test_dir 'spec'
14
14
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', 'coverage', '.rvmrc',
15
15
  '.AppleDouble', '.DS_Store', '.byebug_history', 'errors.lst', 'tags'
16
+ package_ignore '.all_images', '.utilsrc', '.rspec', '.tool-versions',
17
+ '.gitignore'
16
18
 
17
19
  readme 'README.md'
18
20
  title "#{name.camelize} -- configuration library"
@@ -25,6 +27,7 @@ GemHadar do
25
27
  development_dependency 'simplecov'
26
28
  development_dependency 'rspec'
27
29
  development_dependency 'monetize'
30
+ development_dependency 'utils'
28
31
  end
29
32
 
30
33
  task :default => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.19.2
1
+ 0.19.3
@@ -1,23 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: complex_config 0.19.2 ruby lib
2
+ # stub: complex_config 0.19.3 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "complex_config".freeze
6
- s.version = "0.19.2"
6
+ s.version = "0.19.3"
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 = "2021-10-28"
11
+ s.date = "2022-05-19"
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 = [".gitignore".freeze, ".rspec".freeze, ".tool-versions".freeze, ".travis.yml".freeze, ".utilsrc".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/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.2.22".freeze
20
+ s.rubygems_version = "3.3.13".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
 
@@ -26,20 +26,22 @@ Gem::Specification.new do |s|
26
26
  end
27
27
 
28
28
  if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
29
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
30
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
31
31
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
32
  s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
33
33
  s.add_development_dependency(%q<monetize>.freeze, [">= 0"])
34
+ s.add_development_dependency(%q<utils>.freeze, [">= 0"])
34
35
  s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
35
36
  s.add_runtime_dependency(%q<tins>.freeze, [">= 0"])
36
37
  s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
37
38
  else
38
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
39
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
39
40
  s.add_dependency(%q<rake>.freeze, [">= 0"])
40
41
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
41
42
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
42
43
  s.add_dependency(%q<monetize>.freeze, [">= 0"])
44
+ s.add_dependency(%q<utils>.freeze, [">= 0"])
43
45
  s.add_dependency(%q<json>.freeze, [">= 0"])
44
46
  s.add_dependency(%q<tins>.freeze, [">= 0"])
45
47
  s.add_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
@@ -1,5 +1,4 @@
1
1
  begin
2
- require 'forwardable' # XXX monetize forgets to require this
3
2
  require 'monetize'
4
3
  rescue LoadError
5
4
  if $DEBUG
@@ -118,8 +118,8 @@ class ComplexConfig::Settings < BasicObject
118
118
  to_h.to_yaml
119
119
  end
120
120
 
121
- def to_json
122
- to_h.to_json
121
+ def to_json(*a)
122
+ to_h.to_json(*a)
123
123
  end
124
124
 
125
125
  def size
@@ -1,6 +1,6 @@
1
1
  module ComplexConfig
2
2
  # ComplexConfig version
3
- VERSION = '0.19.2'
3
+ VERSION = '0.19.3'
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:
@@ -18,7 +18,7 @@ RSpec.describe ComplexConfig::Encryption do
18
18
  end
19
19
 
20
20
  it 'can encrypt' do
21
- expect(enc.encrypt(value)).to match /\A.+--.+--.+==\z/
21
+ expect(enc.encrypt(value)).to match(/\A.+--.+--.+==\z/)
22
22
  end
23
23
 
24
24
  it 'can decrypt' do
@@ -122,6 +122,10 @@ EOT
122
122
  EOT
123
123
  end
124
124
 
125
+ it 'can be converted into JSON' do
126
+ expect(settings.to_json).to eq '{"foo":{"bar":{"baz":true},"qux":"quux"}}'
127
+ end
128
+
125
129
  it 'raises exception if expected attribute is missing' do
126
130
  expect { settings.nix }.to raise_error(ComplexConfig::AttributeMissing)
127
131
  end
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.2
4
+ version: 0.19.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-28 00:00:00.000000000 Z
11
+ date: 2022-05-19 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.11.0
19
+ version: 1.12.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.11.0
26
+ version: 1.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: utils
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: json
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -153,11 +167,7 @@ extra_rdoc_files:
153
167
  - lib/complex_config/shortcuts.rb
154
168
  - lib/complex_config/version.rb
155
169
  files:
156
- - ".gitignore"
157
- - ".rspec"
158
- - ".tool-versions"
159
- - ".travis.yml"
160
- - ".utilsrc"
170
+ - ".all_images.yml"
161
171
  - COPYING
162
172
  - Gemfile
163
173
  - README.md
@@ -221,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
231
  - !ruby/object:Gem::Version
222
232
  version: '0'
223
233
  requirements: []
224
- rubygems_version: 3.2.22
234
+ rubygems_version: 3.3.13
225
235
  signing_key:
226
236
  specification_version: 4
227
237
  summary: configuration library
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- .*.sw[pon]
2
- .AppleDouble
3
- .DS_Store
4
- .byebug_history
5
- .rvmrc
6
- Gemfile.lock
7
- coverage
8
- errors.lst
9
- pkg
10
- tags
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.tool-versions DELETED
@@ -1 +0,0 @@
1
- ruby 3.0.2
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- rvm:
2
- - 2.1
3
- - 2.2
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
- - 2.7
9
- - 3.0
10
- - ruby-head
11
- - jruby-head
12
- sudo: false
13
- matrix:
14
- allow_failures:
15
- - rvm: ruby-head
16
- - rvm: jruby-head
data/.utilsrc DELETED
@@ -1,26 +0,0 @@
1
- # vim: set ft=ruby:
2
-
3
- search do
4
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
5
- skip_files /(\A\.|\.sw[pon]\z|\.(log|fnm|jpg|jpeg|png|pdf|svg)\z|tags|~\z)/i
6
- end
7
-
8
- discover do
9
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
10
- skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
11
- binary false
12
- end
13
-
14
- strip_spaces do
15
- prune_dirs /\A(\..*|CVS|pkg)\z/
16
- skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
17
- end
18
-
19
- probe do
20
- test_framework :rspec
21
- #include_dirs 'features'
22
- end
23
-
24
- ssh_tunnel do
25
- terminal_multiplexer :tmux
26
- end