dry-behaviour 0.5.2 → 0.6.0
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 +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
|