dry-types 1.3.1 → 1.4.0

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: ed66b33141669159568a0253b4b22fd150eb1f669528cd746ef2a638f834a773
4
- data.tar.gz: e777b61c64490bc51764ba3982155f0f317ddfdc0e5a40e93eb86b842bbc485c
3
+ metadata.gz: f734c560178356c131ffab93f54a26d5e3cd48c0493c5defba166773fa17d992
4
+ data.tar.gz: 3920839f32bbe474d2e99776dc631bfa079139b099aeb9cbb3c00c45f0e56cbf
5
5
  SHA512:
6
- metadata.gz: 202d3cbb44e8275b67f77d8e18300239096913b7a90c0b1cbef9cdff0978167341b33816d31f0f53f269e911dfe102a01a4df480e8a9d3f01dcec2ffccda6984
7
- data.tar.gz: d5b0aa7fd4d7776d668ebbbf696a1fd9ec9ddb52e5cd5182377e7375b40d1e515a5d35e82aab947092eec3bb03ec31d2b38fae1c15b299f64e992064093d774f
6
+ metadata.gz: 86397faca01543a8836b9d48f6c5bb70084c51219651f137e308d968de42e1f04cb2a8f3b53e3aa362537a35818a0ba54c3fa731521a87e33e62afc2f5ac94d8
7
+ data.tar.gz: 8b97e1b888936595ef5808a6d5ad6ef5d9e0cf0f52c44f5802831e8dbd1c6bbba2ef4a60ad896b505ed086869ba8977bc87a8053aff10b582ab16316f5829900
@@ -1,9 +1,21 @@
1
+ ## 1.4.0 2020-03-09
2
+
3
+
4
+ ### Fixed
5
+
6
+ - `json.nil` no longer coerces empty strings to `nil`. It was a long-standing
7
+ bug that for some reason remained unnoticed for years. Technically,
8
+ this may be a breaking change for JSON schemas described with dry-schema (@flash-gordon)
9
+
10
+
11
+ [Compare v1.3.1...v1.4.0](https://github.com/dry-rb/dry-types/compare/v1.3.1...v1.4.0)
12
+
1
13
  ## 1.3.1 2020-02-17
2
14
 
3
15
 
4
16
  ### Changed
5
17
 
6
- - Predicate inferrer now returns `hash?` for hash schemas. Note, it doesn't spit more complex predstructuress because we have different plans for dry-schema (@flash-gordon)
18
+ - Predicate inferrer now returns `hash?` for hash schemas. Note, it doesn't spit more complex preds because we have different plans for dry-schema (@flash-gordon)
7
19
 
8
20
  [Compare v1.3.0...v1.3.1](https://github.com/dry-rb/dry-types/compare/v1.3.0...v1.3.1)
9
21
 
@@ -8,23 +8,6 @@ module Dry
8
8
  module Coercions
9
9
  include Dry::Core::Constants
10
10
 
11
- # @param [String, Object] input
12
- #
13
- # @return [nil] if the input is an empty string or nil
14
- #
15
- # @raise CoercionError
16
- #
17
- # @api public
18
- def to_nil(input, &_block)
19
- if input.nil? || empty_str?(input)
20
- nil
21
- elsif block_given?
22
- yield
23
- else
24
- raise CoercionError, "#{input.inspect} is not nil"
25
- end
26
- end
27
-
28
11
  # @param [#to_str, Object] input
29
12
  #
30
13
  # @return [Date, Object]
@@ -14,6 +14,23 @@ module Dry
14
14
  module JSON
15
15
  extend Coercions
16
16
 
17
+ # @param [Object] input
18
+ #
19
+ # @return [nil] if the input is nil
20
+ #
21
+ # @raise CoercionError
22
+ #
23
+ # @api public
24
+ def self.to_nil(input, &_block)
25
+ if input.nil?
26
+ nil
27
+ elsif block_given?
28
+ yield
29
+ else
30
+ raise CoercionError, "#{input.inspect} is not nil"
31
+ end
32
+ end
33
+
17
34
  # @param [#to_d, Object] input
18
35
  #
19
36
  # @return [BigDecimal,nil]
@@ -18,6 +18,23 @@ module Dry
18
18
 
19
19
  extend Coercions
20
20
 
21
+ # @param [Object] input
22
+ #
23
+ # @return [nil] if the input is an empty string or nil
24
+ #
25
+ # @raise CoercionError
26
+ #
27
+ # @api public
28
+ def self.to_nil(input, &_block)
29
+ if input.nil? || empty_str?(input)
30
+ nil
31
+ elsif block_given?
32
+ yield
33
+ else
34
+ raise CoercionError, "#{input.inspect} is not nil"
35
+ end
36
+ end
37
+
21
38
  # @param [String, Object] input
22
39
  #
23
40
  # @return [Boolean,Object]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Types
5
- VERSION = '1.3.1'
5
+ VERSION = '1.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-types
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-16 00:00:00.000000000 Z
11
+ date: 2020-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby