dry-behaviour 0.5.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/bin/benchmark +4 -0
- data/dry-behaviour.gemspec +1 -0
- data/lib/dry/behaviour/black_tie.rb +2 -1
- data/lib/dry/behaviour/cerberus.rb +17 -7
- data/lib/dry/behaviour/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01a2f3844b89e2b41e719f309945c2c66d7717ff
|
4
|
+
data.tar.gz: 6497f54746f681a0b0a281a8c0404b7b55bb8fad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22ebe373dd9ec2b4b30babcd3c8f3130f5ae9f229a8f152ffe9eaaf4291cc0cd7ec2f2d1850ed1c8e89b4a956765244330ad992df8039320abb114049118be75
|
7
|
+
data.tar.gz: 4ddc32d58f0f52ca11496945df99342d1238b1e78636d5d5668d44ed56a225e37e96fa22cbbd236b25d3d4ec8ca4a71f7a44e7924cdb9af32d2982896cf7b9dd
|
data/README.md
CHANGED
data/bin/benchmark
ADDED
data/dry-behaviour.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency 'bundler', '~> 1.10'
|
29
29
|
spec.add_development_dependency 'awesome_print', '~> 1.7'
|
30
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
31
|
+
spec.add_development_dependency 'benchmark-ips', '~> 2.7'
|
31
32
|
spec.add_development_dependency 'rspec'
|
32
33
|
spec.add_development_dependency 'pry'
|
33
34
|
end
|
@@ -82,6 +82,10 @@ module Dry
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
+
# rubocop:disable Metrics/MethodLength
|
86
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
87
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
88
|
+
# rubocop:disable Style/AsciiComments
|
85
89
|
def umbrella(guarded, name, clauses)
|
86
90
|
guarded.prepend(Module.new do
|
87
91
|
define_method name do |*args, **params, &cb|
|
@@ -93,14 +97,16 @@ module Dry
|
|
93
97
|
end
|
94
98
|
next if hash.nil?
|
95
99
|
hash.all? do |param, condition|
|
96
|
-
type_var, idx = m.parameters.each_with_index.detect { |(_type, var),
|
100
|
+
type_var, idx = m.parameters.each_with_index.detect { |(_type, var), _i| var == param }
|
97
101
|
# rubocop:disable Style/CaseEquality
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
102
|
+
idx && begin
|
103
|
+
case type_var.first
|
104
|
+
when :req, :opt then condition === args[idx]
|
105
|
+
when :block then condition === cb
|
106
|
+
end
|
107
|
+
rescue => _e
|
108
|
+
false # we don’t care
|
109
|
+
end
|
104
110
|
# rubocop:enable Style/CaseEquality
|
105
111
|
end
|
106
112
|
end
|
@@ -109,6 +115,10 @@ module Dry
|
|
109
115
|
end
|
110
116
|
end)
|
111
117
|
end
|
118
|
+
# rubocop:enable Style/AsciiComments
|
119
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
120
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
121
|
+
# rubocop:enable Metrics/MethodLength
|
112
122
|
end
|
113
123
|
private_constant :H
|
114
124
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-behaviour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksei Matiushkin
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-02-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -54,6 +54,20 @@ dependencies:
|
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '10.0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: benchmark-ips
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.7'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '2.7'
|
57
71
|
- !ruby/object:Gem::Dependency
|
58
72
|
name: rspec
|
59
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,6 +115,7 @@ files:
|
|
101
115
|
- LICENSE.txt
|
102
116
|
- README.md
|
103
117
|
- Rakefile
|
118
|
+
- bin/benchmark
|
104
119
|
- bin/console
|
105
120
|
- bin/setup
|
106
121
|
- dry-behaviour.gemspec
|