dry-configurable 1.1.0 → 1.2.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: 94af5d96e13582f8cdd76f5dad132ac8228b5bbb3d288b1c78ea7b976b925935
4
+ data.tar.gz: 3d33f7cf5b5cdbce76d2e9531bd8ba52919fad3c9c852c3b401ee41a14a62bae
5
5
  SHA512:
6
- metadata.gz: 63bc9c6e501d2ab9e1163458375caccb3da12954c79c52f0a81484386781df4d23569767b7b4484a639189d825b1ff4da809af22274e99f69537f06dad54b1b7
7
- data.tar.gz: b313d3f0eea05075a50e578bb8a90e6cc58fd7e3cd98ce9c095e3a490851a2be855e8d05795f94c45764172aa67c18a0e88c74811f21735450e846a24b3889c0
6
+ metadata.gz: a78071b550e270e74a8c4eafacf9a42aec8d5fd4c7c85f3e3919ade358d92abc232b1617ed1ba6cc04edfdd7c47e427b7c7b9f44c5cba3290b67c125e38cb59c
7
+ data.tar.gz: 3c6f5ae84fc9dc9c728ed955834a3d4b6d9e6e833b189002206412d4d803345422335d410dbcda2b6de21e491231eedae24e6e893785c4fc8108938f58178f9f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
2
 
3
- ## 1.0.2 2022-07-16
3
+ ## 1.2.0 2024-07-03
4
+
5
+
6
+ ### Changed
7
+
8
+ - Allow `Dry::Configurable` mixin to be included multiple times in a class hierarchy (#164 by @timriley)
9
+ - Deprecate `Dry::Configurable::AlreadyIncludedError` (#164 by @timriley)
10
+
11
+ [Compare v1.1.0...v1.2.0](https://github.com/dry-rb/dry-configurable/compare/v1.1.0...v1.2.0)
12
+
13
+ ## 1.1.0 2022-07-16
4
14
 
5
15
 
6
16
  ### Fixed
@@ -8,7 +18,7 @@
8
18
  - Allow nested settings to default to `Undefined` (fixes #158 via #161) (@emptyflask)
9
19
 
10
20
 
11
- [Compare v1.0.1...v1.0.2](https://github.com/dry-rb/dry-configurable/compare/v1.0.1...v1.0.2)
21
+ [Compare v1.0.1...v1.1.0](https://github.com/dry-rb/dry-configurable/compare/v1.0.1...v1.1.0)
12
22
 
13
23
  ## 1.0.1 2022-11-16
14
24
 
@@ -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
 
@@ -3,6 +3,6 @@
3
3
  module Dry
4
4
  module Configurable
5
5
  # @api public
6
- VERSION = "1.1.0"
6
+ VERSION = "1.2.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.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Holland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-16 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-core
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  requirements: []
138
- rubygems_version: 3.3.26
138
+ rubygems_version: 3.3.27
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: A mixin to add configuration functionality to your classes