delegate_matcher 0.0.1 → 0.0.3
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/.travis.yml +7 -0
- data/Gemfile.lock +3 -1
- data/README.md +7 -6
- data/delegate_matcher.gemspec +8 -7
- data/lib/delegate_matcher/delegate_matcher.rb +6 -5
- data/lib/delegate_matcher/version.rb +1 -1
- data/spec/lib/delegate_matcher_spec.rb +0 -5
- data/spec/lib/version_spec.rb +7 -0
- data/spec/spec_helper.rb +0 -5
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2fc3381de7601d9699de188f3f24cfa11066f60
|
4
|
+
data.tar.gz: 8fd2cd2811125dd7f82966141071776b64b155c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67f45287b58103aae009169440ef82e9fe3c7e042997072080b3ff27424aefbfb3644461fb9a4b7497af2d57abb9a7d1ca7d7b1c33c4a7d750a8e52961f6c9b5
|
7
|
+
data.tar.gz: 8b32722dc5dd7698333045fe7ebc26331dad2f5f2491c48c3626faa6540195f0f00d8fc467a245245a555d55ab857ef0c774730b2a71e9fe846da7b55871cf7d
|
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
delegate_matcher (0.0.
|
4
|
+
delegate_matcher (0.0.3)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -32,6 +32,7 @@ GEM
|
|
32
32
|
ast (>= 1.1, < 3.0)
|
33
33
|
powerpack (0.1.1)
|
34
34
|
rainbow (2.0.0)
|
35
|
+
rake (10.4.2)
|
35
36
|
rest-client (1.6.7)
|
36
37
|
mime-types (>= 1.16)
|
37
38
|
rspec (3.3.0)
|
@@ -78,6 +79,7 @@ DEPENDENCIES
|
|
78
79
|
bundler (~> 1.7)
|
79
80
|
coveralls (~> 0.7)
|
80
81
|
delegate_matcher!
|
82
|
+
rake (~> 10.0)
|
81
83
|
rspec (~> 3.0)
|
82
84
|
rspec-its (~> 1.1)
|
83
85
|
rubocop (~> 0.30)
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://travis-ci.org/dwhelan/delegate_matcher)
|
2
|
+
|
1
3
|
# Delegate Matcher
|
2
4
|
|
3
5
|
An RSpec matcher for validating delegation. This matcher works with delegation based on the [Forwardable](http://ruby-doc.org/stdlib-2.0.0/libdoc/forwardable/rdoc/Forwardable.html) module,
|
@@ -26,7 +28,6 @@ $ gem install delegate_matcher
|
|
26
28
|
|
27
29
|
Then add the following to your ```spec_helper.rb``` file:
|
28
30
|
|
29
|
-
|
30
31
|
```ruby
|
31
32
|
require 'delegate_matcher'
|
32
33
|
```
|
@@ -86,8 +87,8 @@ object since the matcher cannot validate ```nil``` handling in these cases.
|
|
86
87
|
|
87
88
|
### Arguments
|
88
89
|
|
89
|
-
If the method being delegated takes arguments
|
90
|
-
will
|
90
|
+
If the method being delegated takes arguments you can supply them with the ```with``` method. The matcher
|
91
|
+
will check that the provided arguments are in turn passed to the delegate.
|
91
92
|
|
92
93
|
```ruby
|
93
94
|
describe Post do
|
@@ -112,14 +113,14 @@ You can check that a block passed is in turn passed to the delegate via the ```w
|
|
112
113
|
```ruby
|
113
114
|
describe Post do
|
114
115
|
it { should delegate(:name).to(author).with_a_block } # name(&block) => author.name(&block)
|
115
|
-
it { should delegate(:name).to(author).with_block } # name(&block) => author.name(&block) alias for with_a_block
|
116
|
+
it { should delegate(:name).to(author).with_block } # name(&block) => author.name(&block) # alias for with_a_block
|
116
117
|
|
117
118
|
it { should delegate(:name).to(author).without_a_block } # name(&block) => author.name
|
118
|
-
it { should delegate(:name).to(author).without_block } # name(&block) => author.name alias for without_a_block
|
119
|
+
it { should delegate(:name).to(author).without_block } # name(&block) => author.name # alias for without_a_block
|
119
120
|
end
|
120
121
|
```
|
121
122
|
|
122
|
-
By default, block
|
123
|
+
By default, block delegation is only checked if ```with_a_block``` or ```without_a_block``` is specified.
|
123
124
|
|
124
125
|
### Active Support
|
125
126
|
|
data/delegate_matcher.gemspec
CHANGED
@@ -19,11 +19,12 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.test_files = gem.files.grep(%r{^spec/})
|
20
20
|
gem.require_paths = ['lib']
|
21
21
|
|
22
|
-
gem.add_development_dependency 'activesupport', '~>
|
23
|
-
gem.add_development_dependency 'bundler', '~>
|
24
|
-
gem.add_development_dependency 'coveralls', '~>
|
25
|
-
gem.add_development_dependency '
|
26
|
-
gem.add_development_dependency 'rspec
|
27
|
-
gem.add_development_dependency '
|
28
|
-
gem.add_development_dependency '
|
22
|
+
gem.add_development_dependency 'activesupport', '~> 4.2'
|
23
|
+
gem.add_development_dependency 'bundler', '~> 1.7'
|
24
|
+
gem.add_development_dependency 'coveralls', '~> 0.7'
|
25
|
+
gem.add_development_dependency 'rake', '~> 10.0'
|
26
|
+
gem.add_development_dependency 'rspec', '~> 3.0'
|
27
|
+
gem.add_development_dependency 'rspec-its', '~> 1.1'
|
28
|
+
gem.add_development_dependency 'rubocop', '~> 0.30'
|
29
|
+
gem.add_development_dependency 'simplecov', '~> 0.9'
|
29
30
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'rspec/matchers'
|
2
|
+
|
1
3
|
RSpec::Matchers.define(:delegate) do |method|
|
2
4
|
match do |delegator|
|
3
5
|
fail 'need to provide a "to"' unless delegate
|
@@ -13,13 +15,11 @@ RSpec::Matchers.define(:delegate) do |method|
|
|
13
15
|
end
|
14
16
|
|
15
17
|
def failure_message
|
16
|
-
|
17
|
-
message.empty? ? super : message
|
18
|
+
failure_message_details(false) || super
|
18
19
|
end
|
19
20
|
|
20
21
|
def failure_message_when_negated
|
21
|
-
|
22
|
-
message.empty? ? super : message
|
22
|
+
failure_message_details(true) || super
|
23
23
|
end
|
24
24
|
|
25
25
|
chain(:to) { |delegate| @delegate = delegate }
|
@@ -227,12 +227,13 @@ RSpec::Matchers.define(:delegate) do |method|
|
|
227
227
|
end
|
228
228
|
|
229
229
|
def failure_message_details(negated)
|
230
|
-
[
|
230
|
+
message = [
|
231
231
|
argument_failure_message(negated),
|
232
232
|
block_failure_message(negated),
|
233
233
|
return_value_failure_message(negated),
|
234
234
|
allow_nil_failure_message(negated)
|
235
235
|
].reject(&:empty?).join(' and ')
|
236
|
+
message.empty? ? nil : message
|
236
237
|
end
|
237
238
|
|
238
239
|
def argument_failure_message(negated)
|
@@ -183,11 +183,6 @@ describe 'Delegate matcher' do
|
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
186
|
-
it 'should have a VERSION' do
|
187
|
-
load './lib/delegate_matcher/version.rb'
|
188
|
-
expect(DelegateMatcher::VERSION).to_not be_empty
|
189
|
-
end
|
190
|
-
|
191
186
|
describe 'delegation to instance method' do
|
192
187
|
it { should delegate(:name).to(:author) }
|
193
188
|
it { should delegate(:writer).to(:author).as(:name) }
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'rspec/its'
|
3
3
|
require 'coveralls'
|
4
|
-
|
5
4
|
require 'simplecov'
|
6
5
|
|
7
6
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
@@ -10,10 +9,6 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
10
9
|
]
|
11
10
|
SimpleCov.start
|
12
11
|
|
13
|
-
# require 'pry'
|
14
|
-
# require 'awesome_print'
|
15
|
-
|
16
|
-
# I18n.enforce_available_locales = true
|
17
12
|
Coveralls.wear!
|
18
13
|
|
19
14
|
require 'delegate_matcher'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delegate_matcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Declan Whelan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rspec
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,6 +131,7 @@ extra_rdoc_files: []
|
|
117
131
|
files:
|
118
132
|
- ".gitignore"
|
119
133
|
- ".rubocop.yml"
|
134
|
+
- ".travis.yml"
|
120
135
|
- Gemfile
|
121
136
|
- Gemfile.lock
|
122
137
|
- LICENSE.txt
|
@@ -129,6 +144,7 @@ files:
|
|
129
144
|
- spec/lib/active_support_delegation_spec.rb
|
130
145
|
- spec/lib/delegate_matcher_spec.rb
|
131
146
|
- spec/lib/forwardable_delegation_spec.rb
|
147
|
+
- spec/lib/version_spec.rb
|
132
148
|
- spec/spec_helper.rb
|
133
149
|
homepage: https://github.com/dwhelan/delegate_matcher
|
134
150
|
licenses:
|
@@ -158,4 +174,5 @@ test_files:
|
|
158
174
|
- spec/lib/active_support_delegation_spec.rb
|
159
175
|
- spec/lib/delegate_matcher_spec.rb
|
160
176
|
- spec/lib/forwardable_delegation_spec.rb
|
177
|
+
- spec/lib/version_spec.rb
|
161
178
|
- spec/spec_helper.rb
|