dry-types 0.9.0 → 0.9.1

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
  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