dry-types 0.9.0 → 0.9.1

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
  SHA1:
3
- metadata.gz: f08f7240bc96724af80fa080ce0086e3274927e1
4
- data.tar.gz: 61952ddec432653f82f5d1f8edf37dd0dd8f6c55
3
+ metadata.gz: 3769deb85db43c5a35a186e131b43e482d3aca47
4
+ data.tar.gz: a40d26e91c003cc11e26450b7401890fff58bb04
5
5
  SHA512:
6
- metadata.gz: 2e6fdc5887495ff175ea35397c0f912b97264485d4796c43ab85d13ff99a06e5c81ab8d8cacea3875764142a2408d348a21d980e2965002fdc9d52499dbca910
7
- data.tar.gz: 758ed4045287102f4475a2b12228ae41da0c8f3f88c780589e4a2d8be945941ebd46e079b307bcf3844d788b4c706fec1ef0c7cb74708937592495a79ec7ba8a
6
+ metadata.gz: d33ad6f4aba33825db679604d03243f9f6d99800992f5653643931482bf94d103cbb1ea9d4d9a35a5a50c2e65070851d5db0b95c185e0a00e3f57ba7ba15b493
7
+ data.tar.gz: 67927224de5d07c3af12d8237f5ce6f05633a2aa602672198c3cef7f76eb0fd76d382c60ab33a1ad1f199ae03a0e795ee8f4b9ecdc1cd82da75ce4626a543396
data/.travis.yml CHANGED
@@ -8,15 +8,14 @@ rvm:
8
8
  - 2.1.10
9
9
  - 2.2.5
10
10
  - 2.3.1
11
- - rbx-2
12
- - jruby-9.1.1.0
13
- - ruby-head
11
+ - jruby-9.1.5.0
12
+ - rbx-3.60
14
13
  env:
15
14
  global:
16
15
  - JRUBY_OPTS='--dev -J-Xmx1024M'
17
16
  matrix:
18
17
  allow_failures:
19
- - rvm: ruby-head
18
+ - rvm: rbx-3.60
20
19
  notifications:
21
20
  email: false
22
21
  webhooks:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # v0.9.1 2016-11-04
2
+
3
+ ## Fixed
4
+
5
+ * `Hash#strict_with_defaults` properly evaluates callable defaults (bolshakov)
6
+
7
+ ## Changed
8
+
9
+ * `Hash#weak` accepts Hash-descendants again (solnic)
10
+
11
+ [Compare v0.9.0...v0.9.1](https://github.com/dryrb/dry-types/compare/v0.9.0...v0.9.1)
12
+
1
13
  # v0.9.0 2016-09-21
2
14
 
3
15
  ## Added
@@ -14,7 +26,7 @@
14
26
  ## Changed
15
27
 
16
28
  * [BREAKING] Renamed `Hash##{schema=>permissive}` (backus)
17
- * [BREAKING] `dry-monads` dependency was made optional, Maybe types are available after `Dry::Types.load_extension(:maybe)` (flash-gordon)
29
+ * [BREAKING] `dry-monads` dependency was made optional, Maybe types are available after `Dry::Types.load_extensions(:maybe)` (flash-gordon)
18
30
  * [BREAKING] `Dry::Types::Struct` and `Dry::Types::Value` have been extracted to [`dry-struct`](https://github.com/dry-rb/dry-struct) (backus)
19
31
  * `Types::Form::Bool` supports upcased true/false values (kirs)
20
32
  * `Types::Form::{Date,DateTime,Time}` fail gracefully for invalid input (padde)
data/Gemfile CHANGED
@@ -13,8 +13,6 @@ group :tools do
13
13
  end
14
14
 
15
15
  group :benchmarks do
16
- gem 'sqlite3'
17
- gem 'activerecord', platform: %i(jruby mri)
18
16
  gem 'benchmark-ips'
19
17
  gem 'virtus'
20
18
  gem 'fast_attributes'
data/dry-types.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.required_ruby_version = ">= 2.1.0"
30
30
 
31
31
  spec.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
32
- spec.add_runtime_dependency 'dry-core', '~> 0.1'
32
+ spec.add_runtime_dependency 'dry-core', '~> 0.2'
33
33
  spec.add_runtime_dependency 'dry-container', '~> 0.3'
34
34
  spec.add_runtime_dependency 'dry-equalizer', '~> 0.2'
35
35
  spec.add_runtime_dependency 'dry-configurable', '~> 0.1'
@@ -48,6 +48,7 @@ module Dry
48
48
  end
49
49
  end
50
50
 
51
+ StrictWithDefaults.include MaybeTypes
51
52
  Schema.include MaybeTypes
52
53
  end
53
54
 
@@ -103,7 +103,7 @@ module Dry
103
103
 
104
104
  def resolve_missing_value(result, key, type)
105
105
  if type.default?
106
- result[key] = type.value
106
+ result[key] = type.evaluate
107
107
  else
108
108
  super
109
109
  end
@@ -120,7 +120,7 @@ module Dry
120
120
  end
121
121
 
122
122
  def try(hash, &block)
123
- if hash.instance_of?(::Hash)
123
+ if hash.is_a?(::Hash)
124
124
  super
125
125
  else
126
126
  result = failure(hash, "#{hash} must be a hash")
data/lib/dry/types/sum.rb CHANGED
@@ -19,6 +19,13 @@ module Dry
19
19
  def constrained?
20
20
  true
21
21
  end
22
+
23
+ def call(input)
24
+ try(input) do |result|
25
+ raise ConstraintError.new(result, input)
26
+ end.input
27
+ end
28
+ alias_method :[], :call
22
29
  end
23
30
 
24
31
  def initialize(left, right, options = {})
@@ -44,9 +51,7 @@ module Dry
44
51
  end
45
52
 
46
53
  def call(input)
47
- try(input) do |result|
48
- raise ConstraintError.new(result, input)
49
- end.input
54
+ try(input).input
50
55
  end
51
56
  alias_method :[], :call
52
57
 
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  module Types
3
- VERSION = '0.9.0'.freeze
3
+ VERSION = '0.9.1'.freeze
4
4
  end
5
5
  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: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-21 00:00:00.000000000 Z
11
+ date: 2016-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: '0.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.1'
40
+ version: '0.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dry-container
43
43
  requirement: !ruby/object:Gem::Requirement