dry-configurable 1.1.0 → 1.3.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: 4690042ec201916af0a26a6b54969369f071e387766a67c3feaaaf48dcd8d78c
4
- data.tar.gz: bea78a7c2151680295cd815f20e83942c9d4e3ff0e9d2246f507fdd9b0cffe35
3
+ metadata.gz: dc0b056757d51704455a5ce3cb4868f5081e2d85f5f2bcb07b855e44e8b28408
4
+ data.tar.gz: 6bb906e0508a57daa383d3374b51f06a5fff34809b62ddedb6bbf51c31e23395
5
5
  SHA512:
6
- metadata.gz: 63bc9c6e501d2ab9e1163458375caccb3da12954c79c52f0a81484386781df4d23569767b7b4484a639189d825b1ff4da809af22274e99f69537f06dad54b1b7
7
- data.tar.gz: b313d3f0eea05075a50e578bb8a90e6cc58fd7e3cd98ce9c095e3a490851a2be855e8d05795f94c45764172aa67c18a0e88c74811f21735450e846a24b3889c0
6
+ metadata.gz: 5728bfca629b6f2df8200eaaf10f4a31b7be0d685490a09073c6f4f8576a8db290d098321cc019734b6cbfb96b926e17123e41c5b7f97715f6ad22a37904d051
7
+ data.tar.gz: b18967e737861334404162cacf90961b846cdb26a265cac429f672b0a8f4c29d40006ef9b6dd6ebd4e1653cb4af1bf225dbf69dd2cfbc50208edd92d8a41dc66
data/CHANGELOG.md CHANGED
@@ -1,6 +1,25 @@
1
1
  <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
2
 
3
- ## 1.0.2 2022-07-16
3
+ ## 1.3.0 2025-01-04
4
+
5
+
6
+ ### Changed
7
+
8
+ - Set minimum Ruby version to 3.1 (@flash-gordon)
9
+
10
+ [Compare v1.2.0...v1.3.0](https://github.com/dry-rb/dry-configurable/compare/v1.2.0...v1.3.0)
11
+
12
+ ## 1.2.0 2024-07-03
13
+
14
+
15
+ ### Changed
16
+
17
+ - Allow `Dry::Configurable` mixin to be included multiple times in a class hierarchy (#164 by @timriley)
18
+ - Deprecate `Dry::Configurable::AlreadyIncludedError` (#164 by @timriley)
19
+
20
+ [Compare v1.1.0...v1.2.0](https://github.com/dry-rb/dry-configurable/compare/v1.1.0...v1.2.0)
21
+
22
+ ## 1.1.0 2022-07-16
4
23
 
5
24
 
6
25
  ### Fixed
@@ -8,7 +27,7 @@
8
27
  - Allow nested settings to default to `Undefined` (fixes #158 via #161) (@emptyflask)
9
28
 
10
29
 
11
- [Compare v1.0.1...v1.0.2](https://github.com/dry-rb/dry-configurable/compare/v1.0.1...v1.0.2)
30
+ [Compare v1.0.1...v1.1.0](https://github.com/dry-rb/dry-configurable/compare/v1.0.1...v1.1.0)
12
31
 
13
32
  ## 1.0.1 2022-11-16
14
33
 
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  [gem]: https://rubygems.org/gems/dry-configurable
3
3
  [actions]: https://github.com/dry-rb/dry-configurable/actions
4
4
 
5
- # dry-configurable [![Gem Version](https://badge.fury.io/rb/dry-configurable.svg)][gem] [![CI Status](https://github.com/dry-rb/dry-configurable/workflows/ci/badge.svg)][actions]
5
+ # dry-configurable [![Gem Version](https://badge.fury.io/rb/dry-configurable.svg)][gem] [![CI Status](https://github.com/dry-rb/dry-configurable/workflows/CI/badge.svg)][actions]
6
6
 
7
7
  ## Links
8
8
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  This library officially supports the following Ruby versions:
16
16
 
17
- * MRI `>= 3.0.0`
17
+ * MRI `>= 3.1`
18
18
  * jruby `>= 9.4` (not tested on CI)
19
19
 
20
20
  ## License
@@ -16,23 +16,21 @@ Gem::Specification.new do |spec|
16
16
  spec.summary = "A mixin to add configuration functionality to your classes"
17
17
  spec.description = spec.summary
18
18
  spec.homepage = "https://dry-rb.org/gems/dry-configurable"
19
- spec.files = Dir["CHANGELOG.md", "LICENSE", "README.md", "dry-configurable.gemspec", "lib/**/*"]
19
+ spec.files = Dir["CHANGELOG.md", "LICENSE", "README.md", "dry-configurable.gemspec",
20
+ "lib/**/*"]
20
21
  spec.bindir = "bin"
21
22
  spec.executables = []
22
23
  spec.require_paths = ["lib"]
23
24
 
24
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
25
- spec.metadata["changelog_uri"] = "https://github.com/dry-rb/dry-configurable/blob/main/CHANGELOG.md"
26
- spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-configurable"
27
- spec.metadata["bug_tracker_uri"] = "https://github.com/dry-rb/dry-configurable/issues"
25
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
26
+ spec.metadata["changelog_uri"] = "https://github.com/dry-rb/dry-configurable/blob/main/CHANGELOG.md"
27
+ spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-configurable"
28
+ spec.metadata["bug_tracker_uri"] = "https://github.com/dry-rb/dry-configurable/issues"
29
+ spec.metadata["rubygems_mfa_required"] = "true"
28
30
 
29
- spec.required_ruby_version = ">= 3.0.0"
31
+ spec.required_ruby_version = ">= 3.1"
30
32
 
31
33
  # to update dependencies edit project.yml
32
- spec.add_runtime_dependency "dry-core", "~> 1.0", "< 2"
33
- spec.add_runtime_dependency "zeitwerk", "~> 2.6"
34
-
35
- spec.add_development_dependency "bundler"
36
- spec.add_development_dependency "rake"
37
- spec.add_development_dependency "rspec"
34
+ spec.add_dependency "dry-core", "~> 1.1"
35
+ spec.add_dependency "zeitwerk", "~> 2.6"
38
36
  end
@@ -40,8 +40,8 @@ module Dry
40
40
  # @return [Dry::Configurable::Config]
41
41
  #
42
42
  # @api public
43
- def setting(*args, **options, &block)
44
- setting = __config_dsl__.setting(*args, **options, &block)
43
+ def setting(...)
44
+ setting = __config_dsl__.setting(...)
45
45
 
46
46
  settings << setting
47
47
 
@@ -26,7 +26,7 @@ module Dry
26
26
  # @see ClassMethods.setting
27
27
  # @api private
28
28
  # @return Setting
29
- def setting(name, **options, &block) # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity
29
+ def setting(name, **options, &block)
30
30
  unless VALID_NAME.match?(name.to_s)
31
31
  raise ArgumentError, "#{name} is not a valid setting name"
32
32
  end
@@ -5,9 +5,16 @@ module Dry
5
5
  #
6
6
  # @api public
7
7
  module Configurable
8
+ extend Dry::Core::Deprecations["dry-configurable"]
9
+
8
10
  Error = Class.new(::StandardError)
9
11
 
10
- AlreadyIncludedError = Class.new(Error)
11
12
  FrozenConfigError = Class.new(Error)
13
+
14
+ AlreadyIncludedError = Class.new(Error)
15
+ deprecate_constant(
16
+ :AlreadyIncludedError,
17
+ message: "`include Dry::Configurable` more than once (if needed)"
18
+ )
12
19
  end
13
20
  end
@@ -26,8 +26,6 @@ module Dry
26
26
 
27
27
  # @api private
28
28
  def included(klass)
29
- raise AlreadyIncludedError if klass.include?(InstanceMethods)
30
-
31
29
  super
32
30
 
33
31
  klass.class_eval do
@@ -36,8 +34,8 @@ module Dry
36
34
  prepend(Initializer)
37
35
 
38
36
  class << self
39
- undef :config
40
- undef :configure
37
+ undef :config if method_defined?(:config)
38
+ undef :configure if method_defined?(:configure)
41
39
  end
42
40
  end
43
41
 
@@ -57,8 +57,8 @@ module Dry
57
57
  end
58
58
 
59
59
  # @api public
60
- def each(&block)
61
- settings.each_value(&block)
60
+ def each(&)
61
+ settings.each_value(&)
62
62
  end
63
63
  end
64
64
  end
@@ -3,6 +3,6 @@
3
3
  module Dry
4
4
  module Configurable
5
5
  # @api public
6
- VERSION = "1.1.0"
6
+ VERSION = "1.3.0"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-configurable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Holland
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-16 00:00:00.000000000 Z
11
+ date: 2025-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-core
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '2'
19
+ version: '1.1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '1.0'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '2'
26
+ version: '1.1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: zeitwerk
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,48 +38,6 @@ dependencies:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
40
  version: '2.6'
47
- - !ruby/object:Gem::Dependency
48
- name: bundler
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: rake
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
- - !ruby/object:Gem::Dependency
76
- name: rspec
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
41
  description: A mixin to add configuration functionality to your classes
90
42
  email:
91
43
  - andyholland1991@aol.com
@@ -120,7 +72,8 @@ metadata:
120
72
  changelog_uri: https://github.com/dry-rb/dry-configurable/blob/main/CHANGELOG.md
121
73
  source_code_uri: https://github.com/dry-rb/dry-configurable
122
74
  bug_tracker_uri: https://github.com/dry-rb/dry-configurable/issues
123
- post_install_message:
75
+ rubygems_mfa_required: 'true'
76
+ post_install_message:
124
77
  rdoc_options: []
125
78
  require_paths:
126
79
  - lib
@@ -128,15 +81,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
81
  requirements:
129
82
  - - ">="
130
83
  - !ruby/object:Gem::Version
131
- version: 3.0.0
84
+ version: '3.1'
132
85
  required_rubygems_version: !ruby/object:Gem::Requirement
133
86
  requirements:
134
87
  - - ">="
135
88
  - !ruby/object:Gem::Version
136
89
  version: '0'
137
90
  requirements: []
138
- rubygems_version: 3.3.26
139
- signing_key:
91
+ rubygems_version: 3.3.27
92
+ signing_key:
140
93
  specification_version: 4
141
94
  summary: A mixin to add configuration functionality to your classes
142
95
  test_files: []