configurate 0.5.0 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5917dff879c04bd7e35104f02ed093e0ade7628503b70eaa9ba9f988250ce89d
4
- data.tar.gz: 0ac06ee31c43264bac9001e7dad1c4fa18e9116dd02adfd325f21281d65ac2a1
3
+ metadata.gz: c6cbde7141caa3d2c774fff3a2cc73174410582d050682b5d4804870af484b07
4
+ data.tar.gz: 29daacb8ee699fe7ab37d320f78f9fb5a2722c825b28dac9077cd50ce9abc383
5
5
  SHA512:
6
- metadata.gz: eaf82b6d8a397b3473bf4abc11722a7fb43f98981ee25142786a37c7ba46c1d847324a43f6950ad8997b7fd6db1186d3cd0e7d9a554b28e4f3a5d07b742075bb
7
- data.tar.gz: 28022b6871d3282a5c8283b701bc9a45b1e2519470cb4762e9cb0d4a1875c86c5d16648c8eead096bc0da0da4cc09d477b2c27ef398b9b8c55c0638a4c245b6c
6
+ metadata.gz: 15bc4f73d51fa365b6de1386f73d3cd92aaf72bdb9bed931c75a7046ca7a79a15beb43f0315d8db5f4d0d628c27b8e533fbadd063b1c2898f36dd0e89e23e563
7
+ data.tar.gz: b5e8260b309c38f58479590b07c849889c227ff51b5fd5945e689f768b0b0f69ded625c6b5fb89eabdd380c1647ce7f2c2dd3d539f9e3a45a69f31f8ca56ab27
data/Changelog.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 0.6.0
2
+
3
+ * Add support for Ruby 3.2
4
+ * Drop support for Ruby below 2.7
5
+
1
6
  # 0.5.0
2
7
 
3
8
  * Support and prefer `toml-rb` over `tomlrb` in the shipped TOML provider.
data/README.md CHANGED
@@ -10,7 +10,7 @@ your default settings with a user configuration file and let those be overridden
10
10
  by environment variables. The query interface allows to group and nest your configuration options
11
11
  to a practically unlimited level.
12
12
 
13
- Configurate supports Ruby 2.0 or later.
13
+ Configurate supports Ruby 2.7 or later.
14
14
 
15
15
  ## Installation
16
16
 
@@ -12,15 +12,15 @@ module Configurate
12
12
  # they are added, so the order is important.
13
13
  #
14
14
  # @param provider [#lookup]
15
- # @param *args the arguments passed to the providers constructor
15
+ # @param ... the arguments passed to the providers constructor
16
16
  # @raise [ArgumentError] if an invalid provider is given
17
17
  # @return [void]
18
- def add_provider(provider, *args)
18
+ def add_provider(provider, ...)
19
19
  unless provider.respond_to?(:instance_methods) && provider.instance_methods.include?(:lookup)
20
20
  raise ArgumentError, "the given provider does not respond to lookup"
21
21
  end
22
22
 
23
- @provider << provider.new(*args)
23
+ @provider << provider.new(...)
24
24
  end
25
25
 
26
26
  # Tries all providers in the order they were added to provide a response
@@ -31,11 +31,11 @@ module Configurate
31
31
  # @param ... further args passed to the provider
32
32
  # @return [Array,Hash,String,Boolean,nil] whatever the responding
33
33
  # provider provides is casted to a {String}, except for some special values
34
- def lookup(setting, *args)
34
+ def lookup(setting, ...)
35
35
  setting = SettingPath.new setting if setting.is_a? String
36
36
  @provider.each do |provider|
37
37
  begin
38
- return special_value_or_string(provider.lookup(setting.clone, *args))
38
+ return special_value_or_string(provider.lookup(setting.clone, ...))
39
39
  rescue SettingNotFoundError; end
40
40
  end
41
41
 
@@ -27,6 +27,11 @@ describe Configurate::LookupChain do
27
27
  expect(ValidConfigurationProvider).to receive(:new).with(:extra)
28
28
  subject.add_provider ValidConfigurationProvider, :extra
29
29
  end
30
+
31
+ it "passes keyword args to the provider" do
32
+ expect(ValidConfigurationProvider).to receive(:new).with(required: false)
33
+ subject.add_provider ValidConfigurationProvider, required: false
34
+ end
30
35
  end
31
36
 
32
37
  describe "#lookup" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configurate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonne Haß
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-16 00:00:00.000000000 Z
11
+ date: 2023-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -95,26 +95,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: 2.0.0
98
+ version: 2.7.0
99
99
  required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubygems_version: 3.1.2
105
+ rubygems_version: 3.4.13
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: Flexbile configuration system
109
109
  test_files:
110
- - spec/spec_helper.rb
111
110
  - spec/configurate/lookup_chain_spec.rb
112
- - spec/configurate/provider/toml_spec.rb
113
111
  - spec/configurate/provider/dynamic_spec.rb
114
- - spec/configurate/provider/yaml_spec.rb
115
- - spec/configurate/provider/string_hash_spec.rb
116
112
  - spec/configurate/provider/env_spec.rb
117
- - spec/configurate/proxy_spec.rb
113
+ - spec/configurate/provider/string_hash_spec.rb
114
+ - spec/configurate/provider/toml_spec.rb
115
+ - spec/configurate/provider/yaml_spec.rb
118
116
  - spec/configurate/provider_spec.rb
117
+ - spec/configurate/proxy_spec.rb
119
118
  - spec/configurate/setting_path_spec.rb
120
119
  - spec/configurate_spec.rb
120
+ - spec/spec_helper.rb