dry-configurable 0.11.4 → 0.11.5

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: 0ce88823de6e7eee294f11a792b0f22448792fdb5a716208aae79218877600ae
4
- data.tar.gz: 256cb4668c2f734701f9b70869b5c3e836ca487e3b87d569e702f180b2703976
3
+ metadata.gz: f0faa56dea70f112144295394747175b526e116cdfd09d3ccfa047b85dd06b11
4
+ data.tar.gz: 48fc6304ef41ea05076765bbe8f7286e90ed69ee54b388650d3654b74b4ebfda
5
5
  SHA512:
6
- metadata.gz: dd015b360b01f42e98f2df1936b5ebadbf027077fc6e7be5ff9c8aee06a1973099e67ef26488ffca0c869d45c988c5534a7d4c616d5a3ac8616fe04f337077b1
7
- data.tar.gz: f2f69619243a1e9571060da0b568b804711ed70f100f6facf3e3eee6c7fcbcd47034ca71d25e51a47f582b0e5ed68332ad4f80d3f86fbb4442c10184d1dae351
6
+ metadata.gz: 9c6c284433350053c27e745a8bcb0a0c000c22d4fe684c39eeb20340d026b764f8d80ee155a30ba88af66f4e9ba1022e1572accfa5aff4657b463978534d964e
7
+ data.tar.gz: ed4d650fb3f2d7f92d05bad9575c452bf67138489a734e91ccc4fb6d9fa5932a6dee72430a84c7b2994b8d28bb42a6d7c4dda8e5b82e9ce51ac588a0888f1b2b
@@ -1,3 +1,13 @@
1
+ ## 0.11.5 2020-03-23
2
+
3
+
4
+ ### Fixed
5
+
6
+ - 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
+
8
+
9
+ [Compare v0.11.4...v0.11.5](https://github.com/dry-rb/dry-configurable/compare/v0.11.4...v0.11.5)
10
+
1
11
  ## 0.11.4 2020-03-16
2
12
 
3
13
 
@@ -62,11 +62,21 @@ module Dry
62
62
  @options = options
63
63
  end
64
64
 
65
+ # @api private
66
+ def input_defined?
67
+ !input.equal?(Undefined)
68
+ end
69
+
65
70
  # @api private
66
71
  def value
67
72
  @value ||= evaluate
68
73
  end
69
74
 
75
+ # @api private
76
+ def evaluated?
77
+ instance_variable_defined?(:@value)
78
+ end
79
+
70
80
  # @api private
71
81
  def nested(settings)
72
82
  Nested.new(name, input: settings, **options)
@@ -107,7 +117,7 @@ module Dry
107
117
  # @api private
108
118
  def initialize_copy(source)
109
119
  super
110
- @value = source.value.dup if source.clonable_value?
120
+ @value = source.value.dup if source.input_defined? && source.clonable_value?
111
121
  @options = source.options.dup
112
122
  end
113
123
 
@@ -3,6 +3,6 @@
3
3
  module Dry
4
4
  module Configurable
5
5
  # @api public
6
- VERSION = '0.11.4'
6
+ VERSION = '0.11.5'
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.4
4
+ version: 0.11.5
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-16 00:00:00.000000000 Z
11
+ date: 2020-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby