rspec-matcher 0.1.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 +7 -0
- data/LICENSE.md +20 -0
- data/README.md +110 -0
- data/lib/rspec/matcher/identity.rb +23 -0
- data/lib/rspec/matcher.rb +158 -0
- data/lib/tasks/rspec.rake +6 -0
- data/lib/tasks/rubocop.rake +6 -0
- metadata +283 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8341fb1025efb39d3636ec52f6fe98122f8e04a6
|
4
|
+
data.tar.gz: 0548717cf018015a0ea92211e8fd09dfbf643be7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0cb7ee5d8b98ab55ae7265ace61f2768c39e674f25bac70f4a95b11b8349e5b566f12fc1640969bf1294ffd967ac3b05bcfc1bdebf84b17a7102947a89cd5b5f
|
7
|
+
data.tar.gz: 937e1327820d681dbed4dec4062128529ce57be1ef5b1148dc6c29931b9e93fa1bfd1b4a50f05d0e7437f476cd24c753789781c9df684114fd6ceb5623fc5a8d
|
data/LICENSE.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2016 [Pooyan Khosravi](https://www.github.com/pekhee).
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
# RspecMatcher
|
2
|
+
|
3
|
+
[](http://badge.fury.io/rb/rspec-matcher)
|
4
|
+
[](https://codeclimate.com/github/pekhee/rspec-matcher)
|
5
|
+
[](https://codeclimate.com/github/pekhee/rspec-matcher)
|
6
|
+
[](https://gemnasium.com/pekhee/rspec-matcher)
|
7
|
+
[](https://travis-ci.org/pekhee/rspec-matcher)
|
8
|
+
[](https://inch-ci.org/github/pekhee/rspec-matcher)
|
9
|
+
[](https://gitter.im/pekhee/rspec-matcher)
|
10
|
+
|
11
|
+
<!-- Tocer[start]: Auto-generated, don't remove. -->
|
12
|
+
|
13
|
+
# Table of Contents
|
14
|
+
|
15
|
+
- [Features](#features)
|
16
|
+
- [Requirements](#requirements)
|
17
|
+
- [Setup](#setup)
|
18
|
+
- [Usage](#usage)
|
19
|
+
- [Tests](#tests)
|
20
|
+
- [Versioning](#versioning)
|
21
|
+
- [Code of Conduct](#code-of-conduct)
|
22
|
+
- [Contributions](#contributions)
|
23
|
+
- [License](#license)
|
24
|
+
- [History](#history)
|
25
|
+
- [Credits](#credits)
|
26
|
+
|
27
|
+
<!-- Tocer[finish]: Auto-generated, don't remove. -->
|
28
|
+
|
29
|
+
# Features
|
30
|
+
- Implementes RSpec matcher interface as a module.
|
31
|
+
- Registers matcher with RSpec.
|
32
|
+
- It is stable in contrast to RSpec::Matchers::BaseMatcher.
|
33
|
+
- Well tested and documented.
|
34
|
+
|
35
|
+
# Requirements
|
36
|
+
|
37
|
+
0. [MRI 2.1.0](https://www.ruby-lang.org)
|
38
|
+
|
39
|
+
# Setup
|
40
|
+
|
41
|
+
For a secure install, type the following (recommended):
|
42
|
+
|
43
|
+
gem cert --add <(curl -Ls https://raw.githubusercontent.com/pekhee/rspec-matcher/master/gem-public.pem)
|
44
|
+
gem install rspec-matcher --trust-policy MediumSecurity
|
45
|
+
|
46
|
+
NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
|
47
|
+
allowing the installation of unsigned dependencies since they are beyond the scope of this gem.
|
48
|
+
|
49
|
+
For an insecure install, type the following (not recommended):
|
50
|
+
|
51
|
+
gem install rspec-matcher
|
52
|
+
|
53
|
+
Add the following to your Gemfile:
|
54
|
+
|
55
|
+
gem "rspec-matcher"
|
56
|
+
|
57
|
+
# Usage
|
58
|
+
[API Reference](http://www.rubydoc.info/github/pekhee/rspec-matcher/master)
|
59
|
+
|
60
|
+
class BeNilMatcher
|
61
|
+
include RSpec::Matcher
|
62
|
+
register_as "be_nil"
|
63
|
+
|
64
|
+
def match
|
65
|
+
actual.nil?
|
66
|
+
end
|
67
|
+
|
68
|
+
def failure_message
|
69
|
+
"expected #{expected} to be nil"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
expect(nil).to be_nil
|
74
|
+
|
75
|
+
# Tests
|
76
|
+
|
77
|
+
To test, run:
|
78
|
+
|
79
|
+
bundle exec rake
|
80
|
+
|
81
|
+
# Versioning
|
82
|
+
|
83
|
+
Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
84
|
+
|
85
|
+
- Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
|
86
|
+
- Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements and/or bug fixes.
|
87
|
+
- Major (X.y.z) - Incremented for any backwards incompatible public API changes.
|
88
|
+
|
89
|
+
# Code of Conduct
|
90
|
+
|
91
|
+
Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By participating in this project
|
92
|
+
you agree to abide by its terms.
|
93
|
+
|
94
|
+
# Contributions
|
95
|
+
|
96
|
+
Read [CONTRIBUTING](CONTRIBUTING.md) for details.
|
97
|
+
|
98
|
+
# License
|
99
|
+
|
100
|
+
Copyright (c) 2016 [Pooyan Khosravi](https://www.github.com/pekhee).
|
101
|
+
Read the [LICENSE](LICENSE.md) for details.
|
102
|
+
|
103
|
+
# History
|
104
|
+
|
105
|
+
Read the [CHANGELOG](CHANGELOG.md) for details.
|
106
|
+
Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
|
107
|
+
|
108
|
+
# Credits
|
109
|
+
|
110
|
+
Developed by [Pooyan Khosravi](https://www.github.com/pekhee) at [Pooyan Khosravi](https://www.github.com/pekhee).
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matcher
|
3
|
+
# Gem identity information.
|
4
|
+
# @api private
|
5
|
+
module Identity #:nodoc:
|
6
|
+
def self.name
|
7
|
+
"rspec-matcher"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.label
|
11
|
+
"RSpec::Matcher"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.version
|
15
|
+
"0.1.0"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.version_label
|
19
|
+
"#{label} #{version}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,158 @@
|
|
1
|
+
require "rspec/matcher/identity"
|
2
|
+
require "active_support/concern"
|
3
|
+
|
4
|
+
module RSpec
|
5
|
+
# Provides minimal interface for creating RSpec Matchers.
|
6
|
+
#
|
7
|
+
# Register matcher with RSpec via `register_as`.
|
8
|
+
#
|
9
|
+
# Include `RSpec::Matchers::Composable` to support composable matchers.
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# class BeNil
|
13
|
+
# include RSpec::Matcher
|
14
|
+
# register_as "be_nil"
|
15
|
+
#
|
16
|
+
# def match
|
17
|
+
# return actual.nil?
|
18
|
+
# end
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# expect(actual).to be_nil
|
22
|
+
#
|
23
|
+
# ## Required Methods:
|
24
|
+
# - `match`
|
25
|
+
#
|
26
|
+
# ## Optional Methods:
|
27
|
+
# - `description`
|
28
|
+
# - `failure_message`
|
29
|
+
# - `failure_message_when_negated`
|
30
|
+
# - `diffable?`
|
31
|
+
# - `supports_block_expectations?`
|
32
|
+
module Matcher
|
33
|
+
extend ActiveSupport::Concern
|
34
|
+
|
35
|
+
# To indicate no value was passed to matcher
|
36
|
+
UNDEFINED = Object.new.freeze
|
37
|
+
|
38
|
+
included do
|
39
|
+
prepend RSpec::Matcher::PrependedMethods
|
40
|
+
|
41
|
+
attr_accessor :expected, :actual
|
42
|
+
end
|
43
|
+
|
44
|
+
# @api private
|
45
|
+
# Used to let user define initialize
|
46
|
+
module PrependedMethods #:nodoc:
|
47
|
+
# Stores expected and passes all args to super
|
48
|
+
# @api private
|
49
|
+
# @param [any] expected stored as expected and not passed to custom initializer
|
50
|
+
# @param [any] args... passed to custom initializer
|
51
|
+
# @param [Proc] block passed to custom initializer
|
52
|
+
def initialize expected = UNDEFINED, *args, &block
|
53
|
+
self.expected = expected
|
54
|
+
super(*args, &block)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Methods added as class method to includer
|
59
|
+
module ClassMethods
|
60
|
+
# Registers this matcher in RSpec.
|
61
|
+
# @example
|
62
|
+
# class BeNil
|
63
|
+
# include RSpec::Matcher
|
64
|
+
# register_as "be_nil"
|
65
|
+
# #...
|
66
|
+
# end
|
67
|
+
#
|
68
|
+
# expect(actual).to be_nil
|
69
|
+
#
|
70
|
+
# @param [String] name what to register this matcher as
|
71
|
+
# @return [void]
|
72
|
+
def register_as name
|
73
|
+
s = self
|
74
|
+
m = Module.new do
|
75
|
+
define_method name do |*args, &block|
|
76
|
+
s.new(*args, &block)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
RSpec.configure do |config|
|
81
|
+
config.include m
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# @api private
|
87
|
+
# Hides RSpec internal api
|
88
|
+
def matches? actual
|
89
|
+
self.actual = actual
|
90
|
+
return match if method(:match).arity == 0
|
91
|
+
|
92
|
+
match actual
|
93
|
+
end
|
94
|
+
|
95
|
+
# @method actual
|
96
|
+
# @example expect(actual).to be(expected)
|
97
|
+
# @return [any] value passed to `expect()`
|
98
|
+
|
99
|
+
# @method expected
|
100
|
+
# @example expect(actual).to be(expected)
|
101
|
+
# @return [any] value passed to matcher function.
|
102
|
+
|
103
|
+
# @method initialize
|
104
|
+
# First argument passed to matcher is placed in expected and removed from
|
105
|
+
# arg list. Every argument beside that including a block is passed to
|
106
|
+
# initialize function.
|
107
|
+
|
108
|
+
# Determines if there is a match or not.
|
109
|
+
# @note Must be implemented.
|
110
|
+
# @param [any] actual same as actual method.
|
111
|
+
# @return [Boolean] true for success, false for failure.
|
112
|
+
def match _ = nil
|
113
|
+
raise "not implemented"
|
114
|
+
end
|
115
|
+
|
116
|
+
# Describes what this matcher does for composable matchers.
|
117
|
+
# @example be an string with X length
|
118
|
+
# @example match X regex
|
119
|
+
# @note raises by default
|
120
|
+
# @return [String]
|
121
|
+
def description
|
122
|
+
raise "not implemented"
|
123
|
+
end
|
124
|
+
|
125
|
+
# Describe failure.
|
126
|
+
# @example "expected EXPECTED to be of length X"
|
127
|
+
# @example "expected EXPECTED to match X"
|
128
|
+
# @note raises by default
|
129
|
+
# @return [String]
|
130
|
+
def failure_message
|
131
|
+
raise "not implemented"
|
132
|
+
end
|
133
|
+
|
134
|
+
# Describe failure when not_to is used.
|
135
|
+
# @example "expected EXPECTED not to be of length X"
|
136
|
+
# @example "expected EXPECTED not to match X"
|
137
|
+
# @note raises by default
|
138
|
+
# @return [String]
|
139
|
+
def failure_message_when_negated
|
140
|
+
raise "not implemented"
|
141
|
+
end
|
142
|
+
|
143
|
+
# Indicates if actual and expected should be diffed on failure.
|
144
|
+
# @note false by default
|
145
|
+
# @return [Boolean]
|
146
|
+
def diffable?
|
147
|
+
false
|
148
|
+
end
|
149
|
+
|
150
|
+
# Indicates if actual can be a block.
|
151
|
+
# @example expect { something }.not_to raise_error
|
152
|
+
# @note false by default
|
153
|
+
# @return [Boolean]
|
154
|
+
def supports_block_expectations?
|
155
|
+
false
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
metadata
ADDED
@@ -0,0 +1,283 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rspec-matcher
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Pooyan Khosravi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-03-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '6'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '6'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: gemsmith
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: pry
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: pry-byebug
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: pry-remote
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: pry-state
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: pry-rescue
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: pry-stack_explorer
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: rspec
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: rb-fsevent
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: guard-rspec
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
type: :development
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: terminal-notifier
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '0'
|
194
|
+
type: :development
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: terminal-notifier-guard
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '0'
|
208
|
+
type: :development
|
209
|
+
prerelease: false
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: rubocop
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - ">="
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - ">="
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: '0'
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: codeclimate-test-reporter
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '0'
|
236
|
+
type: :development
|
237
|
+
prerelease: false
|
238
|
+
version_requirements: !ruby/object:Gem::Requirement
|
239
|
+
requirements:
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '0'
|
243
|
+
description: RSpec Base Matcher implementation with automatic registration as a module.
|
244
|
+
email:
|
245
|
+
- pekhee@gmail.com
|
246
|
+
executables: []
|
247
|
+
extensions: []
|
248
|
+
extra_rdoc_files:
|
249
|
+
- README.md
|
250
|
+
- LICENSE.md
|
251
|
+
files:
|
252
|
+
- LICENSE.md
|
253
|
+
- README.md
|
254
|
+
- lib/rspec/matcher.rb
|
255
|
+
- lib/rspec/matcher/identity.rb
|
256
|
+
- lib/tasks/rspec.rake
|
257
|
+
- lib/tasks/rubocop.rake
|
258
|
+
homepage: https://github.com/pekhee/rspec-matcher
|
259
|
+
licenses:
|
260
|
+
- MIT
|
261
|
+
metadata: {}
|
262
|
+
post_install_message:
|
263
|
+
rdoc_options: []
|
264
|
+
require_paths:
|
265
|
+
- lib
|
266
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
267
|
+
requirements:
|
268
|
+
- - ">="
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: '2.1'
|
271
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
|
+
requirements:
|
273
|
+
- - ">="
|
274
|
+
- !ruby/object:Gem::Version
|
275
|
+
version: '0'
|
276
|
+
requirements: []
|
277
|
+
rubyforge_project:
|
278
|
+
rubygems_version: 2.4.5.1
|
279
|
+
signing_key:
|
280
|
+
specification_version: 4
|
281
|
+
summary: Implements RSpec Matcher interface as a module.
|
282
|
+
test_files: []
|
283
|
+
has_rdoc:
|