qonfig 0.29.0 → 0.31.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +50 -0
  3. data/.rubocop.yml +1 -1
  4. data/CHANGELOG.md +22 -0
  5. data/Gemfile +0 -3
  6. data/Gemfile.lock +77 -98
  7. data/LICENSE.txt +1 -1
  8. data/README.md +6 -4
  9. data/gemfiles/with_external_deps.gemfile +2 -0
  10. data/gemfiles/with_external_deps.gemfile.lock +84 -99
  11. data/gemfiles/without_external_deps.gemfile.lock +78 -95
  12. data/lib/qonfig/commands/definition/add_nested_option.rb +5 -1
  13. data/lib/qonfig/commands/definition/load_from_env/value_converter.rb +6 -6
  14. data/lib/qonfig/commands/definition/re_define_option.rb +5 -1
  15. data/lib/qonfig/commands/instantiation/values_file.rb +4 -6
  16. data/lib/qonfig/imports/direct_key.rb +4 -4
  17. data/lib/qonfig/imports/mappings.rb +4 -4
  18. data/lib/qonfig/plugins/pretty_print/requirements.rb +1 -1
  19. data/lib/qonfig/plugins/toml/loaders/dynamic.rb +1 -1
  20. data/lib/qonfig/plugins/toml/loaders.rb +1 -1
  21. data/lib/qonfig/plugins.rb +2 -4
  22. data/lib/qonfig/settings/callbacks.rb +9 -0
  23. data/lib/qonfig/settings.rb +104 -18
  24. data/lib/qonfig/uploaders/yaml.rb +1 -1
  25. data/lib/qonfig/validation/building/instance_builder/attribute_consistency.rb +2 -2
  26. data/lib/qonfig/version.rb +1 -1
  27. data/lib/qonfig.rb +1 -0
  28. data/qonfig.gemspec +8 -8
  29. data/spec/features/config_definition_and_representation_spec.rb +7 -7
  30. data/spec/features/freeze_state_spec.rb +10 -10
  31. data/spec/features/nested_access_caching_spec.rb +134 -0
  32. data/spec/features/plugins/pretty_print_spec.rb +15 -15
  33. data/spec/features/plugins/toml/save_to_toml_spec.rb +1 -1
  34. data/spec/features/plugins/vault/expose_vault_spec.rb +1 -1
  35. data/spec/features/run_code_with_temporary_settings_spec.rb +70 -68
  36. data/spec/features/save_to_file/save_to_json_spec.rb +38 -18
  37. metadata +37 -49
  38. data/.github/workflows/test.yml +0 -62
  39. data/.jrubyrc +0 -1
  40. data/sig/.keep +0 -0
metadata CHANGED
@@ -1,127 +1,118 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qonfig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-05-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: simplecov
13
+ name: base64
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '0.21'
20
- type: :development
18
+ version: '0.2'
19
+ type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '0.21'
25
+ version: '0.2'
27
26
  - !ruby/object:Gem::Dependency
28
- name: rspec
27
+ name: simplecov
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '3.11'
32
+ version: '0.22'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '3.11'
39
+ version: '0.22'
41
40
  - !ruby/object:Gem::Dependency
42
- name: armitage-rubocop
41
+ name: rspec
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '1.30'
46
+ version: '3.2'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '1.30'
53
+ version: '3.2'
55
54
  - !ruby/object:Gem::Dependency
56
- name: steep
55
+ name: armitage-rubocop
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
- version: '1.0'
60
+ version: '1.59'
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
- version: '1.0'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '1'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '1'
67
+ version: '1.59'
83
68
  - !ruby/object:Gem::Dependency
84
- name: bundler-audit
69
+ name: activesupport
85
70
  requirement: !ruby/object:Gem::Requirement
86
71
  requirements:
87
72
  - - "~>"
88
73
  - !ruby/object:Gem::Version
89
- version: '0.9'
74
+ version: '6'
75
+ - - "<"
76
+ - !ruby/object:Gem::Version
77
+ version: '8'
90
78
  type: :development
91
79
  prerelease: false
92
80
  version_requirements: !ruby/object:Gem::Requirement
93
81
  requirements:
94
82
  - - "~>"
95
83
  - !ruby/object:Gem::Version
96
- version: '0.9'
84
+ version: '6'
85
+ - - "<"
86
+ - !ruby/object:Gem::Version
87
+ version: '8'
97
88
  - !ruby/object:Gem::Dependency
98
- name: ci-helper
89
+ name: bundler
99
90
  requirement: !ruby/object:Gem::Requirement
100
91
  requirements:
101
- - - "~>"
92
+ - - ">="
102
93
  - !ruby/object:Gem::Version
103
- version: '0.5'
94
+ version: '1'
104
95
  type: :development
105
96
  prerelease: false
106
97
  version_requirements: !ruby/object:Gem::Requirement
107
98
  requirements:
108
- - - "~>"
99
+ - - ">="
109
100
  - !ruby/object:Gem::Version
110
- version: '0.5'
101
+ version: '1'
111
102
  - !ruby/object:Gem::Dependency
112
103
  name: pry
113
104
  requirement: !ruby/object:Gem::Requirement
114
105
  requirements:
115
106
  - - "~>"
116
107
  - !ruby/object:Gem::Version
117
- version: '0.14'
108
+ version: '0.15'
118
109
  type: :development
119
110
  prerelease: false
120
111
  version_requirements: !ruby/object:Gem::Requirement
121
112
  requirements:
122
113
  - - "~>"
123
114
  - !ruby/object:Gem::Version
124
- version: '0.14'
115
+ version: '0.15'
125
116
  - !ruby/object:Gem::Dependency
126
117
  name: rake
127
118
  requirement: !ruby/object:Gem::Requirement
@@ -160,9 +151,8 @@ executables: []
160
151
  extensions: []
161
152
  extra_rdoc_files: []
162
153
  files:
163
- - ".github/workflows/test.yml"
154
+ - ".github/workflows/build.yml"
164
155
  - ".gitignore"
165
- - ".jrubyrc"
166
156
  - ".rspec"
167
157
  - ".rubocop.yml"
168
158
  - CHANGELOG.md
@@ -278,7 +268,6 @@ files:
278
268
  - lib/qonfig/validation/validators/proc_based.rb
279
269
  - lib/qonfig/version.rb
280
270
  - qonfig.gemspec
281
- - sig/.keep
282
271
  - spec/artifacts/.keep
283
272
  - spec/features/clear_options_spec.rb
284
273
  - spec/features/compacted_config_spec.rb
@@ -328,6 +317,7 @@ files:
328
317
  - spec/features/load_setting_values_from_file/load_from_yaml_spec.rb
329
318
  - spec/features/load_setting_values_from_file/shared_behavior_spec.rb
330
319
  - spec/features/mixin_spec.rb
320
+ - spec/features/nested_access_caching_spec.rb
331
321
  - spec/features/non_redefineable_core_methods_spec.rb
332
322
  - spec/features/plugins/pretty_print_spec.rb
333
323
  - spec/features/plugins/toml/expose_self/format_option_toml_spec.rb
@@ -408,7 +398,6 @@ homepage: https://github.com/0exp/qonfig
408
398
  licenses:
409
399
  - MIT
410
400
  metadata: {}
411
- post_install_message:
412
401
  rdoc_options: []
413
402
  require_paths:
414
403
  - lib
@@ -416,15 +405,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
416
405
  requirements:
417
406
  - - ">="
418
407
  - !ruby/object:Gem::Version
419
- version: 2.6.0
408
+ version: '3.1'
420
409
  required_rubygems_version: !ruby/object:Gem::Requirement
421
410
  requirements:
422
411
  - - ">="
423
412
  - !ruby/object:Gem::Version
424
413
  version: '0'
425
414
  requirements: []
426
- rubygems_version: 3.5.3
427
- signing_key:
415
+ rubygems_version: 3.6.9
428
416
  specification_version: 4
429
417
  summary: Config object
430
418
  test_files: []
@@ -1,62 +0,0 @@
1
- name: Test
2
-
3
- on: [push, pull_request]
4
-
5
- env:
6
- FULL_COVERAGE_CHECK: true
7
-
8
- jobs:
9
- full-check:
10
- runs-on: ubuntu-latest
11
-
12
- # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event
13
- if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != '0exp/qonfig'
14
-
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: 3
20
- bundler-cache: true
21
- - name: Run Linter
22
- run: bundle exec ci-helper RubocopLint
23
- - name: Check missed spec suffixes
24
- run: bundle exec ci-helper CheckSpecSuffixes --extra-paths spec/*.rb --ignored-paths spec/*_helper.rb spec/**/*_examples.rb
25
- - name: Run specs
26
- run: bundle exec ci-helper RunSpecs
27
- - name: Audit
28
- run: bundle exec ci-helper BundlerAudit
29
- - name: Coveralls
30
- uses: coverallsapp/github-action@master
31
- with:
32
- github-token: ${{ secrets.GITHUB_TOKEN }}
33
- specs:
34
- runs-on: ubuntu-latest
35
- continue-on-error: ${{ matrix.experimental }}
36
-
37
- env:
38
- FULL_COVERAGE_CHECK: false
39
-
40
- # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event
41
- if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != '0exp/qonfig'
42
-
43
- strategy:
44
- fail-fast: false
45
- matrix:
46
- ruby: ["2.6", "2.7", "3.0", "3.1"]
47
- experimental: [false]
48
- include:
49
- - ruby: head
50
- experimental: true
51
- - ruby: jruby
52
- experimental: true
53
-
54
-
55
- steps:
56
- - uses: actions/checkout@v2
57
- - uses: ruby/setup-ruby@v1
58
- with:
59
- ruby-version: ${{ matrix.ruby }}
60
- bundler-cache: true
61
- - name: Run specs
62
- run: bundle exec ci-helper RunSpecs
data/.jrubyrc DELETED
@@ -1 +0,0 @@
1
- debug.fullTrace=true
data/sig/.keep DELETED
File without changes