complex_config 0.17.0 → 0.17.1

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: 6a62d35017801f81211c900cfd841264193155e1f89ebc27c387b7649da6dbcc
4
- data.tar.gz: 96cdc260febe8d2dff2f479421dcf7e94e61de4dacf77ee2ca30372c069e390c
3
+ metadata.gz: 165c452b58cc6363fb33d5e653b53eb4c2adcecafe8ee8f7d1be75991cd5c40b
4
+ data.tar.gz: 31eaf3a82ef3fd2779a1b95933370286ee4b5762d4ebafb4aae1c6b654782fa2
5
5
  SHA512:
6
- metadata.gz: aae99c356a7467495f3311dd0aaca592078164458183076aae3fd3688d65d7d0e0b37bf209cb6b0873715240b9d6b1105e04dbbd60ce80d0d53566e5a67a07a5
7
- data.tar.gz: a63690e1401e3df9bdc29cc6f9441812521bad478fb43ee4ed6be79d7bc39a220a56c90de3862b8d4510cd9ad04d48d534a92bcb0769500b8b7cb16c900f0328
6
+ metadata.gz: 8e72982da3fe131846d289c924fe817ddc77632c84770903ead2e02cdd3fbf03c379b73d015b5de85d066cbc3f97590d926f2dbeeb36599540dbb0c41347175c
7
+ data.tar.gz: faf171a9be237df8297e89bc26d81afe5d7dffabaac70690cc8976bce86e105b7d008fbd3f7e7a0ec786b9f85de326e9e59ec2c4438c7b0a88e5edf4181d337d
data/.gitignore CHANGED
@@ -7,3 +7,4 @@ Gemfile.lock
7
7
  coverage
8
8
  errors.lst
9
9
  pkg
10
+ tags
@@ -1,5 +1,4 @@
1
1
  rvm:
2
- - 2.0
3
2
  - 2.1
4
3
  - 2.2
5
4
  - 2.3
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ GemHadar do
12
12
  executables 'complex_config'
13
13
  test_dir 'spec'
14
14
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', 'coverage', '.rvmrc',
15
- '.AppleDouble', '.DS_Store', '.byebug_history', 'errors.lst'
15
+ '.AppleDouble', '.DS_Store', '.byebug_history', 'errors.lst', 'tags'
16
16
 
17
17
  readme 'README.md'
18
18
  title "#{name.camelize} -- configuration library"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.17.0
1
+ 0.17.1
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: complex_config 0.17.0 ruby lib
2
+ # stub: complex_config 0.17.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "complex_config".freeze
6
- s.version = "0.17.0"
6
+ s.version = "0.17.1"
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 = "2019-03-18"
11
+ s.date = "2019-11-27"
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]
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
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.0.3".freeze
20
+ s.rubygems_version = "3.0.6".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
 
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.specification_version = 4
26
26
 
27
27
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
28
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
29
29
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
30
30
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
31
31
  s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.add_runtime_dependency(%q<tins>.freeze, [">= 0"])
35
35
  s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
36
36
  else
37
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
37
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
38
38
  s.add_dependency(%q<rake>.freeze, [">= 0"])
39
39
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
40
40
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
@@ -44,7 +44,7 @@ Gem::Specification.new do |s|
44
44
  s.add_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
45
45
  end
46
46
  else
47
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
47
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
48
48
  s.add_dependency(%q<rake>.freeze, [">= 0"])
49
49
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
50
50
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
@@ -106,7 +106,7 @@ class ComplexConfig::Provider
106
106
  shared = shared.to_h
107
107
  settings.each do |key, value|
108
108
  if value.is_a? ComplexConfig::Settings
109
- value.attributes_update(shared)
109
+ value.attributes_update_if_nil(shared)
110
110
  elsif value.nil?
111
111
  settings[key] = ComplexConfig::Settings.build(nil, shared.dup)
112
112
  end
@@ -76,6 +76,15 @@ class ComplexConfig::Settings < BasicObject
76
76
  @table.update(other.table)
77
77
  end
78
78
 
79
+ def attributes_update_if_nil(other)
80
+ unless other.is_a? self.class
81
+ other = self.class.from_hash(other)
82
+ end
83
+ @table.update(other.table) do |key, oldval, newval|
84
+ @table.key?(key) ? oldval : newval
85
+ end
86
+ end
87
+
79
88
  def replace_attributes(hash)
80
89
  @table = self.class.from_hash(hash).table
81
90
  self
@@ -1,6 +1,6 @@
1
1
  module ComplexConfig
2
2
  # ComplexConfig version
3
- VERSION = '0.17.0'
3
+ VERSION = '0.17.1'
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:
@@ -314,8 +314,8 @@ RSpec.describe ComplexConfig::Provider do
314
314
 
315
315
  it 'can share values' do
316
316
  expect(described_class['config'].development.shared).to eq true
317
- expect(described_class['config'].test.shared).to eq true
318
- expect(described_class['config'].staging.shared).to eq true
317
+ expect(described_class['config'].test.shared).to eq nil
318
+ expect(described_class['config'].staging.shared).to eq false
319
319
  end
320
320
  end
321
321
  end
@@ -9,8 +9,10 @@ development:
9
9
  pi: <%= Math::PI %>
10
10
 
11
11
  staging:
12
+ shared: false
12
13
 
13
14
  test:
15
+ shared: null
14
16
  config:
15
17
  foo: false
16
18
  bar: true
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.17.0
4
+ version: 0.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-18 00:00:00.000000000 Z
11
+ date: 2019-11-27 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.9.1
19
+ version: 1.11.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.9.1
26
+ version: 1.11.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  requirements: []
222
- rubygems_version: 3.0.3
222
+ rubygems_version: 3.0.6
223
223
  signing_key:
224
224
  specification_version: 4
225
225
  summary: configuration library