qonfig 0.21.0 → 0.25.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.travis.yml +23 -20
  4. data/CHANGELOG.md +58 -2
  5. data/LICENSE.txt +1 -1
  6. data/README.md +124 -10
  7. data/Rakefile +0 -1
  8. data/bin/rspec +1 -0
  9. data/gemfiles/with_external_deps.gemfile +2 -0
  10. data/lib/qonfig.rb +4 -0
  11. data/lib/qonfig/commands/definition/expose_json.rb +2 -2
  12. data/lib/qonfig/commands/definition/expose_yaml.rb +2 -2
  13. data/lib/qonfig/commands/definition/load_from_json.rb +2 -2
  14. data/lib/qonfig/commands/definition/load_from_yaml.rb +2 -2
  15. data/lib/qonfig/commands/instantiation/values_file.rb +13 -4
  16. data/lib/qonfig/data_set.rb +13 -9
  17. data/lib/qonfig/dsl.rb +7 -7
  18. data/lib/qonfig/plugins.rb +1 -0
  19. data/lib/qonfig/plugins/pretty_print.rb +8 -1
  20. data/lib/qonfig/plugins/pretty_print/requirements.rb +3 -0
  21. data/lib/qonfig/plugins/pretty_print/ruby_2_7_basic_object_pp_patch.rb +44 -0
  22. data/lib/qonfig/plugins/toml/commands/definition/expose_toml.rb +4 -4
  23. data/lib/qonfig/plugins/toml/commands/definition/load_from_toml.rb +1 -1
  24. data/lib/qonfig/plugins/toml/data_set.rb +2 -2
  25. data/lib/qonfig/plugins/toml/dsl.rb +2 -2
  26. data/lib/qonfig/plugins/vault.rb +24 -0
  27. data/lib/qonfig/plugins/vault/commands/definition/expose_vault.rb +142 -0
  28. data/lib/qonfig/plugins/vault/commands/definition/load_from_vault.rb +53 -0
  29. data/lib/qonfig/plugins/vault/dsl.rb +35 -0
  30. data/lib/qonfig/plugins/vault/errors.rb +9 -0
  31. data/lib/qonfig/plugins/vault/loaders/vault.rb +73 -0
  32. data/lib/qonfig/settings.rb +78 -21
  33. data/lib/qonfig/settings/key_matcher.rb +2 -0
  34. data/lib/qonfig/uploaders/file.rb +2 -2
  35. data/lib/qonfig/uploaders/yaml.rb +1 -1
  36. data/lib/qonfig/version.rb +1 -1
  37. data/qonfig.gemspec +5 -6
  38. metadata +20 -26
@@ -147,12 +147,14 @@ class Qonfig::Settings::KeyMatcher
147
147
  #
148
148
  # @api private
149
149
  # @since 0.13.0
150
+ # rubocop:disable Style/SlicingWithRange
150
151
  def strip_regexp_string(regexp_string, left: false, right: false)
151
152
  pattern = regexp_string
152
153
  pattern = pattern[2..-1] if left && pattern[0..1] == MATCHER_SCOPE_SPLITTER
153
154
  pattern = pattern[0..-3] if right && pattern[-2..-1] == MATCHER_SCOPE_SPLITTER
154
155
  pattern
155
156
  end
157
+ # rubocop:enable Style/SlicingWithRange
156
158
 
157
159
  # @param scope_pattern [String]
158
160
  # @return [Regexp]
@@ -23,9 +23,9 @@ class Qonfig::Uploaders::File < Qonfig::Uploaders::Base
23
23
 
24
24
  class << self
25
25
  # @param settings [Qonfig::Settings]
26
- # @param options [Hash<Symbol|String,Any>]
27
26
  # @param value_processor [Block]
28
- # @option path [String]
27
+ # @option path [String, Pathname]
28
+ # @option options [Hash<Symbol|String,Any>]
29
29
  # @return [void]
30
30
  #
31
31
  # @api private
@@ -47,7 +47,7 @@ class Qonfig::Uploaders::YAML < Qonfig::Uploaders::File
47
47
  # @since 0.11.0
48
48
  def represent_settings(settings, options, &value_processor)
49
49
  settings_hash_opts = hash_representation_options(options, &value_processor)
50
- settings_hash = settings.__to_hash__(settings_hash_opts)
50
+ settings_hash = settings.__to_hash__(**settings_hash_opts)
51
51
  to_yaml_string(settings_hash, options)
52
52
  end
53
53
 
@@ -5,5 +5,5 @@ module Qonfig
5
5
  #
6
6
  # @api public
7
7
  # @since 0.1.0
8
- VERSION = '0.21.0'
8
+ VERSION = '0.25.0'
9
9
  end
@@ -6,7 +6,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
6
  require 'qonfig/version'
7
7
 
8
8
  Gem::Specification.new do |spec|
9
- spec.required_ruby_version = '>= 2.4.9'
9
+ spec.required_ruby_version = '>= 2.4.10'
10
10
 
11
11
  spec.name = 'qonfig'
12
12
  spec.version = Qonfig::VERSION
@@ -29,12 +29,11 @@ Gem::Specification.new do |spec|
29
29
  f.match(%r{^(test|spec|features)/})
30
30
  end
31
31
 
32
- spec.add_development_dependency 'coveralls', '~> 0.8'
33
- spec.add_development_dependency 'simplecov', '~> 0.16'
34
- spec.add_development_dependency 'rspec', '~> 3.8'
35
- spec.add_development_dependency 'armitage-rubocop', '~> 0.77'
32
+ spec.add_development_dependency 'simplecov', '~> 0.19'
33
+ spec.add_development_dependency 'rspec', '~> 3.9'
34
+ spec.add_development_dependency 'armitage-rubocop', '~> 0.89'
36
35
 
37
36
  spec.add_development_dependency 'bundler'
38
- spec.add_development_dependency 'rake'
37
+ spec.add_development_dependency 'rake', '>= 13'
39
38
  spec.add_development_dependency 'pry'
40
39
  end
metadata CHANGED
@@ -1,71 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qonfig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2020-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: coveralls
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.8'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.8'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: simplecov
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0.16'
19
+ version: '0.19'
34
20
  type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '0.16'
26
+ version: '0.19'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '3.8'
33
+ version: '3.9'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '3.8'
40
+ version: '3.9'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: armitage-rubocop
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '0.77'
47
+ version: '0.89'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '0.77'
54
+ version: '0.89'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: bundler
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +72,14 @@ dependencies:
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '0'
75
+ version: '13'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '0'
82
+ version: '13'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: pry
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -183,6 +169,8 @@ files:
183
169
  - lib/qonfig/plugins/pretty_print/compacted.rb
184
170
  - lib/qonfig/plugins/pretty_print/data_set.rb
185
171
  - lib/qonfig/plugins/pretty_print/mixin.rb
172
+ - lib/qonfig/plugins/pretty_print/requirements.rb
173
+ - lib/qonfig/plugins/pretty_print/ruby_2_7_basic_object_pp_patch.rb
186
174
  - lib/qonfig/plugins/pretty_print/settings.rb
187
175
  - lib/qonfig/plugins/registry.rb
188
176
  - lib/qonfig/plugins/toml.rb
@@ -196,6 +184,12 @@ files:
196
184
  - lib/qonfig/plugins/toml/loaders/toml.rb
197
185
  - lib/qonfig/plugins/toml/tomlrb_fixes.rb
198
186
  - lib/qonfig/plugins/toml/uploaders/toml.rb
187
+ - lib/qonfig/plugins/vault.rb
188
+ - lib/qonfig/plugins/vault/commands/definition/expose_vault.rb
189
+ - lib/qonfig/plugins/vault/commands/definition/load_from_vault.rb
190
+ - lib/qonfig/plugins/vault/dsl.rb
191
+ - lib/qonfig/plugins/vault/errors.rb
192
+ - lib/qonfig/plugins/vault/loaders/vault.rb
199
193
  - lib/qonfig/settings.rb
200
194
  - lib/qonfig/settings/builder.rb
201
195
  - lib/qonfig/settings/callbacks.rb
@@ -237,14 +231,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
231
  requirements:
238
232
  - - ">="
239
233
  - !ruby/object:Gem::Version
240
- version: 2.4.9
234
+ version: 2.4.10
241
235
  required_rubygems_version: !ruby/object:Gem::Requirement
242
236
  requirements:
243
237
  - - ">="
244
238
  - !ruby/object:Gem::Version
245
239
  version: '0'
246
240
  requirements: []
247
- rubygems_version: 3.0.3
241
+ rubygems_version: 3.1.2
248
242
  signing_key:
249
243
  specification_version: 4
250
244
  summary: Config object