dry-configurable 0.11.5 → 0.11.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0faa56dea70f112144295394747175b526e116cdfd09d3ccfa047b85dd06b11
4
- data.tar.gz: 48fc6304ef41ea05076765bbe8f7286e90ed69ee54b388650d3654b74b4ebfda
3
+ metadata.gz: d76fbe81b58bc0a6d0e5abb5f135e32e6eb7f47533af60864a09e0143b3ea66c
4
+ data.tar.gz: 33f74bd69c1f030477088d32e80024969983e8dd793c58c89264828edc207a90
5
5
  SHA512:
6
- metadata.gz: 9c6c284433350053c27e745a8bcb0a0c000c22d4fe684c39eeb20340d026b764f8d80ee155a30ba88af66f4e9ba1022e1572accfa5aff4657b463978534d964e
7
- data.tar.gz: ed4d650fb3f2d7f92d05bad9575c452bf67138489a734e91ccc4fb6d9fa5932a6dee72430a84c7b2994b8d28bb42a6d7c4dda8e5b82e9ce51ac588a0888f1b2b
6
+ metadata.gz: aef6696e55e9ec56e46fabc857db9f1c2c8e266efad943844faf574d2d7d224829ca14457f66c8082f016d4cbdcb7f6bc9a1f33f641c743621c3b998d2f604d4
7
+ data.tar.gz: 11ab00f69b7c172d23d6de19a2f0a208bbd83ecd91b865cb591d18df0f91fd4578d487fb2acd71a88e4b89477a17e602816999847cad4fc0671139aa68e11d00
@@ -1,3 +1,13 @@
1
+ ## unreleased
2
+
3
+
4
+ ### Changed
5
+
6
+ - A meaningful error is raised when the extension is included more than once (issue #89 fixed via #94) (@landongrindheim)
7
+ - Evaluate setting input immediately when input is provided. This allows for earlier feedback from constructors designed to raise errors on invalid input (#95) (@timriley)
8
+
9
+ [Compare v0.11.5...master](https://github.com/dry-rb/dry-configurable/compare/v0.11.5...master)
10
+
1
11
  ## 0.11.5 2020-03-23
2
12
 
3
13
 
@@ -5,6 +15,9 @@
5
15
 
6
16
  - When settings are copied or cloned, unevaluated values will no longer be copied. This prevents unintended crashes when settings have constructors expecting a certain type of value, but that value is yet to be provided (Fixed via #87) (@timriley)
7
17
 
18
+ ### Changed
19
+
20
+ - A meaningful error is raised when the extension is included more than once (issue #89 fixed via #94) (@landongrindheim)
8
21
 
9
22
  [Compare v0.11.4...v0.11.5](https://github.com/dry-rb/dry-configurable/compare/v0.11.4...v0.11.5)
10
23
 
@@ -7,6 +7,7 @@ require 'dry/configurable/class_methods'
7
7
  require 'dry/configurable/instance_methods'
8
8
  require 'dry/configurable/config'
9
9
  require 'dry/configurable/setting'
10
+ require 'dry/configurable/errors'
10
11
 
11
12
  module Dry
12
13
  # A simple configuration mixin
@@ -51,6 +52,8 @@ module Dry
51
52
 
52
53
  # @api private
53
54
  def self.included(klass)
55
+ raise AlreadyIncluded if klass.include?(InstanceMethods)
56
+
54
57
  super
55
58
  klass.class_eval do
56
59
  extend(ClassMethods)
@@ -6,6 +6,7 @@ module Dry
6
6
  # @api public
7
7
  module Configurable
8
8
  Error = Class.new(::StandardError)
9
+ AlreadyIncluded = ::Class.new(Error)
9
10
  FrozenConfig = ::Class.new(Error)
10
11
  end
11
12
  end
@@ -60,6 +60,8 @@ module Dry
60
60
  @input = input.equal?(Undefined) ? default : input
61
61
  @default = default
62
62
  @options = options
63
+
64
+ evaluate if input_defined?
63
65
  end
64
66
 
65
67
  # @api private
@@ -3,6 +3,6 @@
3
3
  module Dry
4
4
  module Configurable
5
5
  # @api public
6
- VERSION = '0.11.5'
6
+ VERSION = '0.11.6'
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: 0.11.5
4
+ version: 0.11.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Holland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-23 00:00:00.000000000 Z
11
+ date: 2020-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby