rspec-pending_for 0.1.15 → 0.1.17
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +37 -0
- data/CODE_OF_CONDUCT.md +107 -46
- data/CONTRIBUTING.md +131 -0
- data/{LICENSE → LICENSE.txt} +1 -1
- data/README.md +315 -99
- data/SECURITY.md +21 -0
- data/lib/rspec/pending_for/build.rb +32 -30
- data/lib/rspec/pending_for/rspec.rb +3 -2
- data/lib/rspec/pending_for/version.rb +6 -1
- data/lib/rspec/pending_for.rb +10 -7
- data/lib/rspec-pending_for.rb +1 -0
- data.tar.gz.sig +0 -0
- metadata +84 -45
- metadata.gz.sig +0 -0
data/README.md
CHANGED
@@ -1,175 +1,391 @@
|
|
1
1
|
# Rspec::PendingFor
|
2
2
|
|
3
|
+
[![Version][👽versioni]][👽version]
|
4
|
+
[![License: MIT][📄license-img]][📄license-ref]
|
5
|
+
[![Downloads Rank][👽dl-ranki]][👽dl-rank]
|
6
|
+
[![Open Source Helpers][👽oss-helpi]][👽oss-help]
|
7
|
+
[![Depfu][🔑depfui♻️]][🔑depfu]
|
8
|
+
[![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
|
9
|
+
[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
|
10
|
+
[![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
|
11
|
+
[![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
|
12
|
+
[![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf]
|
13
|
+
[![CI Current][🚎11-c-wfi]][🚎11-c-wf]
|
14
|
+
[![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf]
|
15
|
+
[![CI JRuby][🚎10-j-wfi]][🚎10-j-wf]
|
16
|
+
[![CI Supported][🚎6-s-wfi]][🚎6-s-wf]
|
17
|
+
[![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf]
|
18
|
+
[![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf]
|
19
|
+
[![CI Ancient][🚎1-an-wfi]][🚎1-an-wf]
|
20
|
+
[![CI Hoary][🚎8-ho-wfi]][🚎8-ho-wf]
|
21
|
+
[![CI Fusty][🚎12-fu-wfi]][🚎12-fu-wf]
|
22
|
+
[![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf]
|
23
|
+
[![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
[![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
|
28
|
+
[![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
|
29
|
+
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme]
|
30
|
+
[![Polar Shield][🖇polar-img]][🖇polar]
|
31
|
+
[![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
32
|
+
[![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
|
33
|
+
|
3
34
|
Easiest to just show you:
|
4
35
|
|
5
36
|
```ruby
|
6
|
-
it(
|
7
|
-
pending_for(:engine =>
|
8
|
-
pending_for(:engine =>
|
9
|
-
pending_for(:engine =>
|
10
|
-
pending_for(:engine =>
|
11
|
-
|
37
|
+
it("blah is blah") do
|
38
|
+
pending_for(:engine => "rbx")
|
39
|
+
pending_for(:engine => "truffleruby")
|
40
|
+
pending_for(:engine => "ruby", :versions => "2.1.5")
|
41
|
+
pending_for(:engine => "jruby", :versions => "2.2.2", :reason => "due to a bug in Ruby")
|
42
|
+
pending_for(:engine => "ruby", :versions => "2.0.0", :reason => "because I don't have the time")
|
43
|
+
expect("blah").to(eq("blah"))
|
12
44
|
end
|
13
45
|
```
|
14
46
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
|
22
|
-
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
47
|
+
I expect the current release of this gem to be compatible with Ruby 1.8.7+,
|
48
|
+
but it is only tested on CI against Ruby 1.9.3+,
|
49
|
+
due to the inherent limitations of GitHub Actions.
|
50
|
+
|
51
|
+
## Info you can shake a stick at
|
52
|
+
|
53
|
+
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
54
|
+
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
55
|
+
| Works with JRuby | [![JRuby 9.1 Compat][💎jruby-9.1i]][🚎10-j-wf] [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎10-j-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎10-j-wf] [![JRuby 9.4 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
|
56
|
+
| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎9-t-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎9-t-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf] |
|
57
|
+
| Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
|
58
|
+
| Works with MRI Ruby 2 | [![Ruby 2.0 Compat][💎ruby-2.0i]][🚎8-ho-wf] [![Ruby 2.1 Compat][💎ruby-2.1i]][🚎8-ho-wf] [![Ruby 2.2 Compat][💎ruby-2.2i]][🚎8-ho-wf] [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
|
59
|
+
| Works with MRI Ruby 1 | [![Ruby 1.9 Compat][💎ruby-1.9i]][🚎12-fu-wf] |
|
60
|
+
| Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
|
61
|
+
| Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![HEAD on RubyDoc.info][📜docs-head-rd-img]][🚎yard-head] [![BDFL Blog][🚂bdfl-blog-img]][🚂bdfl-blog] [![Wiki][📜wiki-img]][📜wiki] |
|
62
|
+
| Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] |
|
63
|
+
| Expert 1:1 Support | [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] `or` [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
64
|
+
| Enterprise Support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]<br/>💡Subscribe for support guarantees covering _all_ FLOSS dependencies!<br/>💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]!<br/>💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers! |
|
65
|
+
| Comrade BDFL 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact BDFL][🚂bdfl-contact-img]][🚂bdfl-contact] [![My technical writing][💖💁🏼♂️devto-img]][💖💁🏼♂️devto] |
|
66
|
+
| `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼♂️aboutme-img]][💖💁🏼♂️aboutme] |
|
32
67
|
|
33
68
|
## Installation
|
34
69
|
|
35
|
-
|
36
|
-
|
37
|
-
```ruby
|
38
|
-
gem 'rspec-pending_for'
|
39
|
-
```
|
70
|
+
Install the gem and add to the application's Gemfile by executing:
|
40
71
|
|
41
|
-
|
72
|
+
$ bundle add rspec-pending_for
|
42
73
|
|
43
|
-
|
44
|
-
|
45
|
-
Or install it yourself as:
|
74
|
+
If bundler is not being used to manage dependencies, install the gem by executing:
|
46
75
|
|
47
76
|
$ gem install rspec-pending_for
|
48
77
|
|
49
78
|
## Usage
|
50
79
|
|
51
|
-
The gem
|
80
|
+
The gem autoconfigures itself for use in your Rspec suite. Just add this line to yous `spec_helper.rb`:
|
52
81
|
|
53
82
|
```ruby
|
54
|
-
require
|
83
|
+
require "rspec/pending_for"
|
55
84
|
```
|
56
85
|
|
57
86
|
To mark a spec pending for a specific ruby engine, and/or versions:
|
58
87
|
|
59
88
|
```ruby
|
60
|
-
it(
|
61
|
-
pending_for(:engine =>
|
62
|
-
expect(
|
89
|
+
it("blah is blah") do
|
90
|
+
pending_for(:engine => "ruby", :versions => "2.1.5")
|
91
|
+
expect("blah").to(eq("blah"))
|
63
92
|
end
|
64
93
|
```
|
65
94
|
|
66
95
|
To skip a spec for a specific ruby engine, and/or versions:
|
67
96
|
|
68
97
|
```ruby
|
69
|
-
it(
|
70
|
-
skip_for(:engine =>
|
71
|
-
expect(
|
98
|
+
it("blah is blah") do
|
99
|
+
skip_for(:engine => "ruby", :versions => "2.1.5")
|
100
|
+
expect("blah").to(eq("blah"))
|
72
101
|
end
|
73
102
|
```
|
74
103
|
|
75
104
|
To mark a spec pending for all versions of a given engine:
|
76
105
|
|
77
106
|
```ruby
|
78
|
-
it(
|
79
|
-
pending_for(:engine =>
|
80
|
-
expect(
|
107
|
+
it("blah is blah") do
|
108
|
+
pending_for(:engine => "jruby")
|
109
|
+
expect("blah").to(eq("blah"))
|
81
110
|
end
|
82
111
|
```
|
83
112
|
|
84
113
|
To mark a spec pending for a custom reason (overriding the default message):
|
85
114
|
|
86
115
|
```ruby
|
87
|
-
it(
|
88
|
-
pending_for(:engine =>
|
89
|
-
expect(
|
116
|
+
it("blah is blah") do
|
117
|
+
pending_for(:engine => "jruby", :reason => "This does not work on JRuby")
|
118
|
+
expect("blah").to(eq("blah"))
|
90
119
|
end
|
91
120
|
```
|
92
121
|
|
93
122
|
To mark a spec pending or skipped for multiple engines and versions, just what you would expect:
|
94
123
|
|
95
124
|
```ruby
|
96
|
-
it(
|
97
|
-
skip_for(:engine =>
|
98
|
-
pending_for(:engine =>
|
99
|
-
pending_for(:engine =>
|
100
|
-
expect(
|
125
|
+
it("blah is blah") do
|
126
|
+
skip_for(:engine => "jruby", :reason => "This does not work on JRuby so skipping for now") # All JRuby versions will be skipped
|
127
|
+
pending_for(:engine => "rbx", :reason => "This does not work on Rubinius so pending for now") # All rbx versions will be pending
|
128
|
+
pending_for(:engine => "ruby", :versions => %w(1.9.3 2.0.0 2.1.0)) # uses the default message
|
129
|
+
expect("blah").to(eq("blah"))
|
101
130
|
end
|
102
131
|
```
|
103
132
|
|
133
|
+
## 🔐 Security
|
104
134
|
|
105
|
-
|
135
|
+
See [SECURITY.md][🔐security].
|
106
136
|
|
107
|
-
|
137
|
+
## 🤝 Contributing
|
108
138
|
|
109
|
-
|
139
|
+
If you need some ideas of where to help, you could work on adding more code coverage,
|
140
|
+
or if it is already 💯 (see [below](#code-coverage)) then check [issues][🤝issues], or [PRs][🤝pulls],
|
141
|
+
or use the gem and think about how it could be better.
|
110
142
|
|
143
|
+
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
111
144
|
|
112
|
-
|
145
|
+
See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
|
113
146
|
|
114
|
-
|
147
|
+
### Code Coverage
|
115
148
|
|
116
|
-
|
149
|
+
[![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
|
117
150
|
|
118
|
-
|
151
|
+
### 🪇 Code of Conduct
|
119
152
|
|
120
|
-
|
153
|
+
Everyone interacting in this project's codebases, issue trackers,
|
154
|
+
chat rooms and mailing lists is expected to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
|
121
155
|
|
122
|
-
|
123
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
124
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
125
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
126
|
-
5. Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
127
|
-
6. Create new Pull Request
|
156
|
+
## 🌈 Contributors
|
128
157
|
|
129
|
-
|
158
|
+
[![Contributors][🖐contributors-img]][🖐contributors]
|
130
159
|
|
131
|
-
|
160
|
+
Made with [contributors-img][🖐contrib-rocks].
|
132
161
|
|
133
|
-
|
162
|
+
Also see GitLab Contributors: [https://gitlab.com/pboling/rspec-pending_for/-/graphs/main][🚎contributors-gl]
|
134
163
|
|
135
|
-
##
|
164
|
+
## ⭐️ Star History
|
136
165
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
166
|
+
<a href="https://star-history.com/#pboling/rspec-pending_for&Date">
|
167
|
+
<picture>
|
168
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pboling/rspec-pending_for&type=Date&theme=dark" />
|
169
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pboling/rspec-pending_for&type=Date" />
|
170
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pboling/rspec-pending_for&type=Date" />
|
171
|
+
</picture>
|
172
|
+
</a>
|
143
173
|
|
144
|
-
|
145
|
-
dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
174
|
+
## 📌 Versioning
|
146
175
|
|
147
|
-
|
176
|
+
This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
|
177
|
+
Violations of this scheme should be reported as bugs.
|
178
|
+
Specifically, if a minor or patch version is released that breaks backward compatibility,
|
179
|
+
a new version should be immediately released that restores compatibility.
|
180
|
+
Breaking changes to the public API will only be introduced with new major versions.
|
181
|
+
|
182
|
+
### 📌 Is "Platform Support" part of the public API?
|
148
183
|
|
149
|
-
|
184
|
+
Yes. But I'm obligated to include notes...
|
150
185
|
|
151
|
-
|
186
|
+
SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
|
187
|
+
is a *breaking change* to an API.
|
188
|
+
It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
|
152
189
|
|
153
|
-
|
190
|
+
> dropping support for a platform is both obviously and objectively a breaking change
|
154
191
|
|
155
|
-
|
192
|
+
- Jordan Harband (@ljharb) [in SemVer issue 716][📌semver-breaking]
|
156
193
|
|
157
|
-
|
194
|
+
To get a better understanding of how SemVer is intended to work over a project's lifetime,
|
195
|
+
read this article from the creator of SemVer:
|
158
196
|
|
159
|
-
|
160
|
-
|
197
|
+
- ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
|
198
|
+
|
199
|
+
As a result of this policy, and the interpretive lens used by the maintainer,
|
200
|
+
you can (and should) specify a dependency on these libraries using
|
201
|
+
the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
|
202
|
+
|
203
|
+
For example:
|
204
|
+
|
205
|
+
```ruby
|
206
|
+
spec.add_dependency("rspec-pending_for", "~> 0.1")
|
207
|
+
```
|
161
208
|
|
162
|
-
[
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
[license]:
|
168
|
-
[
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
209
|
+
See [CHANGELOG.md][📌changelog] for list of releases.
|
210
|
+
|
211
|
+
## 📄 License
|
212
|
+
|
213
|
+
The gem is available as open source under the terms of
|
214
|
+
the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
|
215
|
+
See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
|
216
|
+
|
217
|
+
### © Copyright
|
218
|
+
|
219
|
+
<p>
|
220
|
+
Copyright (c) 2015 - 2018, 2020 - 2022, 2025 Peter H. Boling,
|
221
|
+
<a href="https://railsbling.com">
|
222
|
+
RailsBling.com
|
223
|
+
<picture>
|
224
|
+
<img alt="Rails Bling" height="20" src="https://railsbling.com/images/logos/RailsBling-TrainLogo.svg" />
|
225
|
+
</picture>
|
226
|
+
</a>
|
227
|
+
</p>
|
228
|
+
|
229
|
+
## 🤑 One more thing
|
230
|
+
|
231
|
+
You made it to the bottom of the page,
|
232
|
+
so perhaps you'll indulge me for another 20 seconds.
|
233
|
+
I maintain many dozens of gems, including this one,
|
234
|
+
because I want Ruby to be a great place for people to solve problems, big and small.
|
235
|
+
Please consider supporting my efforts via the giant yellow link below,
|
236
|
+
or one of the others at the head of this README.
|
237
|
+
|
238
|
+
[![Buy me a latte][🖇buyme-img]][🖇buyme]
|
239
|
+
|
240
|
+
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
241
|
+
[⛳️gem-namespace]: https://github.com/pboling/rspec-pending_for/blob/main/lib/rspec-pending_for.rb
|
242
|
+
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Rspec::PendingFor-brightgreen.svg?style=flat&logo=ruby&logoColor=white
|
243
|
+
[⛳️gem-name]: https://rubygems.org/gems/rspec-pending_for
|
244
|
+
[⛳️name-img]: https://img.shields.io/badge/name-rspec--pending__for-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
|
245
|
+
[🚂bdfl-blog]: http://www.railsbling.com/tags/rspec-pending_for
|
246
|
+
[🚂bdfl-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
247
|
+
[🚂bdfl-contact]: http://www.railsbling.com/contact
|
248
|
+
[🚂bdfl-contact-img]: https://img.shields.io/badge/Contact-BDFL-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
|
249
|
+
[💖🖇linkedin]: http://www.linkedin.com/in/peterboling
|
250
|
+
[💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
|
251
|
+
[💖✌️wellfound]: https://angel.co/u/peter-boling
|
252
|
+
[💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
|
253
|
+
[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
|
254
|
+
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
255
|
+
[💖🐘ruby-mast]: https://ruby.social/@galtzo
|
256
|
+
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=flat&logo=mastodon&label=Ruby%20%40galtzo
|
257
|
+
[💖🦋bluesky]: https://galtzo.bsky.social
|
258
|
+
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.bsky.social-0285FF?style=flat&logo=bluesky&logoColor=white
|
259
|
+
[💖🌳linktree]: https://linktr.ee/galtzo
|
260
|
+
[💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
|
261
|
+
[💖💁🏼♂️devto]: https://dev.to/galtzo
|
262
|
+
[💖💁🏼♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
|
263
|
+
[💖💁🏼♂️aboutme]: https://about.me/peter.boling
|
264
|
+
[💖💁🏼♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
|
265
|
+
[👨🏼🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
|
266
|
+
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
267
|
+
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
268
|
+
[👨🏼🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
|
269
|
+
[🏙️entsup-tidelift]: https://tidelift.com/subscription
|
270
|
+
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
271
|
+
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
272
|
+
[💁🏼♂️peterboling]: http://www.peterboling.com
|
273
|
+
[🚂railsbling]: http://www.railsbling.com
|
274
|
+
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
275
|
+
[📜src-gl]: https://gitlab.com/pboling/rspec-pending_for/
|
276
|
+
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
|
277
|
+
[📜src-gh]: https://github.com/pboling/rspec-pending_for
|
278
|
+
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
279
|
+
[📜docs-head-rd-img]: https://img.shields.io/badge/RubyDoc-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
280
|
+
[📜wiki]: https://gitlab.com/pboling/rspec-pending_for/-/wikis/home
|
281
|
+
[📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white
|
282
|
+
[👽dl-rank]: https://rubygems.org/gems/rspec-pending_for
|
283
|
+
[👽dl-ranki]: https://img.shields.io/gem/rd/rspec-pending_for.svg
|
284
|
+
[👽oss-help]: https://www.codetriage.com/pboling/rspec-pending_for
|
285
|
+
[👽oss-helpi]: https://www.codetriage.com/pboling/rspec-pending_for/badges/users.svg
|
286
|
+
[👽version]: https://rubygems.org/gems/rspec-pending_for
|
287
|
+
[👽versioni]: https://img.shields.io/gem/v/rspec-pending_for.svg
|
288
|
+
[🔑cc-mnt]: https://codeclimate.com/github/pboling/rspec-pending_for/maintainability
|
289
|
+
[🔑cc-mnti♻️]: https://api.codeclimate.com/v1/badges/266bc0935f185153cce4/maintainability
|
290
|
+
[🔑cc-cov]: https://codeclimate.com/github/pboling/rspec-pending_for/test_coverage
|
291
|
+
[🔑cc-covi♻️]: https://api.codeclimate.com/v1/badges/266bc0935f185153cce4/test_coverage
|
292
|
+
[🔑codecov]: https://codecov.io/gh/pboling/rspec-pending_for
|
293
|
+
[🔑codecovi♻️]: https://codecov.io/gh/pboling/rspec-pending_for/branch/main/graph/badge.svg?token=cc6UdZCpAL
|
294
|
+
[🔑coveralls]: https://coveralls.io/github/pboling/rspec-pending_for?branch=main
|
295
|
+
[🔑coveralls-img]: https://coveralls.io/repos/github/pboling/rspec-pending_for/badge.svg?branch=main
|
296
|
+
[🔑depfu]: https://depfu.com/github/pboling/rspec-pending_for
|
297
|
+
[🔑depfui♻️]: https://badges.depfu.com/badges/79867e590f063376f40b031a1447c215/count.svg
|
298
|
+
[🖐codeQL]: https://github.com/pboling/rspec-pending_for/security/code-scanning
|
299
|
+
[🖐codeQL-img]: https://github.com/pboling/rspec-pending_for/actions/workflows/codeql-analysis.yml/badge.svg
|
300
|
+
[🚎1-an-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/ancient.yml
|
301
|
+
[🚎1-an-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/ancient.yml/badge.svg
|
302
|
+
[🚎2-cov-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/coverage.yml
|
303
|
+
[🚎2-cov-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/coverage.yml/badge.svg
|
304
|
+
[🚎3-hd-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/heads.yml
|
305
|
+
[🚎3-hd-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/heads.yml/badge.svg
|
306
|
+
[🚎4-lg-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/legacy.yml
|
307
|
+
[🚎4-lg-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/legacy.yml/badge.svg
|
308
|
+
[🚎5-st-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/style.yml
|
309
|
+
[🚎5-st-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/style.yml/badge.svg
|
310
|
+
[🚎6-s-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/supported.yml
|
311
|
+
[🚎6-s-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/supported.yml/badge.svg
|
312
|
+
[🚎7-us-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/unsupported.yml
|
313
|
+
[🚎7-us-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/unsupported.yml/badge.svg
|
314
|
+
[🚎8-ho-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/hoary.yml
|
315
|
+
[🚎8-ho-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/hoary.yml/badge.svg
|
316
|
+
[🚎9-t-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/truffle.yml
|
317
|
+
[🚎9-t-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/truffle.yml/badge.svg
|
318
|
+
[🚎10-j-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/jruby.yml
|
319
|
+
[🚎10-j-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/jruby.yml/badge.svg
|
320
|
+
[🚎11-c-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/current.yml
|
321
|
+
[🚎11-c-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/current.yml/badge.svg
|
322
|
+
[🚎12-fu-wf]: https://github.com/pboling/rspec-pending_for/actions/workflows/fusty.yml
|
323
|
+
[🚎12-fu-wfi]: https://github.com/pboling/rspec-pending_for/actions/workflows/fusty.yml/badge.svg
|
324
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
|
325
|
+
[⛳liberapay]: https://liberapay.com/pboling/donate
|
326
|
+
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
327
|
+
[🖇sponsor]: https://github.com/sponsors/pboling
|
328
|
+
[🖇polar-img]: https://polar.sh/embed/seeks-funding-shield.svg?org=pboling
|
329
|
+
[🖇polar]: https://polar.sh/pboling
|
330
|
+
[🖇kofi-img]: https://img.shields.io/badge/buy_me_coffee-donate-yellow.svg
|
331
|
+
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
332
|
+
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
|
333
|
+
[🖇patreon]: https://patreon.com/galtzo
|
334
|
+
[💎ruby-1.9i]: https://img.shields.io/badge/Ruby-1.9-412BD3?style=for-the-badge&logo=ruby&logoColor=white
|
335
|
+
[💎ruby-2.0i]: https://img.shields.io/badge/Ruby-2.0-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
336
|
+
[💎ruby-2.1i]: https://img.shields.io/badge/Ruby-2.1-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
337
|
+
[💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
338
|
+
[💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
339
|
+
[💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
340
|
+
[💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
341
|
+
[💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
342
|
+
[💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
343
|
+
[💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
344
|
+
[💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
345
|
+
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
346
|
+
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
347
|
+
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
348
|
+
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
349
|
+
[💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
350
|
+
[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
351
|
+
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
352
|
+
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
353
|
+
[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
|
354
|
+
[💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
355
|
+
[💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
356
|
+
[💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
357
|
+
[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
|
358
|
+
[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
|
359
|
+
[🤝issues]: https://github.com/pboling/rspec-pending_for/issues
|
360
|
+
[🤝pulls]: https://github.com/pboling/rspec-pending_for/pulls
|
361
|
+
[🤝contributing]: CONTRIBUTING.md
|
362
|
+
[🔑codecov-g♻️]: https://codecov.io/gh/pboling/rspec-pending_for/graphs/tree.svg?token=cc6UdZCpAL
|
363
|
+
[🖐contrib-rocks]: https://contrib.rocks
|
364
|
+
[🖐contributors]: https://github.com/pboling/rspec-pending_for/graphs/contributors
|
365
|
+
[🖐contributors-img]: https://contrib.rocks/image?repo=pboling/rspec-pending_for
|
366
|
+
[🚎contributors-gl]: https://gitlab.com/pboling/rspec-pending_for/-/graphs/main
|
367
|
+
[🪇conduct]: CODE_OF_CONDUCT.md
|
368
|
+
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-4baaaa.svg
|
369
|
+
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
370
|
+
[📌semver]: https://semver.org/spec/v2.0.0.html
|
371
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
|
372
|
+
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
373
|
+
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
374
|
+
[📌changelog]: CHANGELOG.md
|
375
|
+
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
376
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
377
|
+
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
378
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.064-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
379
|
+
[🔐security]: SECURITY.md
|
380
|
+
[🔐security-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
|
381
|
+
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
382
|
+
[📄license]: LICENSE.txt
|
383
|
+
[📄license-ref]: https://opensource.org/licenses/MIT
|
384
|
+
[📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
385
|
+
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
386
|
+
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-brightgreen.svg?style=flat
|
387
|
+
[🚎yard-current]: http://rubydoc.info/gems/rspec-pending_for
|
388
|
+
[🚎yard-head]: https://rubydoc.info/github/pboling/rspec-pending_for/main
|
389
|
+
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
390
|
+
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
391
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/Buy--Me--A--Coffee-✓-brightgreen.svg?style=flat
|
data/SECURITY.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
## Supported Versions
|
4
|
+
|
5
|
+
| Version | Supported |
|
6
|
+
|------------|-----------|
|
7
|
+
| 0.1.latest | ✅ |
|
8
|
+
|
9
|
+
## Security contact information
|
10
|
+
|
11
|
+
To report a security vulnerability, please use the
|
12
|
+
[Tidelift security contact](https://tidelift.com/security).
|
13
|
+
Tidelift will coordinate the fix and disclosure.
|
14
|
+
|
15
|
+
## Additional Support
|
16
|
+
|
17
|
+
If you are interested in support for versions older than the latest release,
|
18
|
+
please consider sponsoring the project / maintainer @ https://liberapay.com/pboling/donate,
|
19
|
+
or find other sponsorship links in the [README].
|
20
|
+
|
21
|
+
[README]: README.md
|
@@ -5,35 +5,37 @@ module Rspec
|
|
5
5
|
# SRP: Describe the RubyEngine and/or RubyVersion(s) that will be pended or skipped and with what message
|
6
6
|
class Build
|
7
7
|
#
|
8
|
-
# | RUBY_ENGINE
|
9
|
-
#
|
10
|
-
# | "unknown"
|
11
|
-
# | "ruby"
|
12
|
-
# | "ree"
|
13
|
-
# | "jruby"
|
14
|
-
# | "macruby"
|
15
|
-
# | "rbx"
|
16
|
-
# | "maglev"
|
17
|
-
# | "ironruby"
|
18
|
-
# | "cardinal"
|
8
|
+
# | RUBY_ENGINE | Implementation |
|
9
|
+
# |:--------------:|:------------------------:|
|
10
|
+
# | "unknown" | MRI < 1.9 (probably) |
|
11
|
+
# | "ruby" | MRI >= 1.9 |
|
12
|
+
# | "ree" | Ruby Enterprise Edition |
|
13
|
+
# | "jruby" | JRuby |
|
14
|
+
# | "macruby" | MacRuby |
|
15
|
+
# | "rbx" | Rubinius |
|
16
|
+
# | "maglev" | MagLev |
|
17
|
+
# | "ironruby" | IronRuby |
|
18
|
+
# | "cardinal" | Cardinal |
|
19
|
+
# | "truffletuby" | Truffle Ruby |
|
19
20
|
#
|
20
21
|
|
21
22
|
# Keys are the
|
22
23
|
INTERPRETER_MATRIX = {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
"unknown" => "MRI < 1.9 (probably)",
|
25
|
+
"ruby" => "MRI >= 1.9",
|
26
|
+
"ree" => "Ruby Enterprise Edition",
|
27
|
+
"jruby" => "JRuby",
|
28
|
+
"macruby" => "MacRuby",
|
29
|
+
"rbx" => "Rubinius",
|
30
|
+
"maglev" => "MagLev",
|
31
|
+
"ironruby" => "IronRuby",
|
32
|
+
"cardinal" => "Cardinal",
|
33
|
+
"truffletuby" => "Truffle Ruby",
|
32
34
|
}.freeze
|
33
|
-
BROKEN_STRING =
|
34
|
-
BUG_STRING =
|
35
|
-
VERSIONS_STRING =
|
36
|
-
ISSUES_LINK =
|
35
|
+
BROKEN_STRING = "Behavior is broken"
|
36
|
+
BUG_STRING = "due to a bug in the Ruby engine"
|
37
|
+
VERSIONS_STRING = "in Ruby versions"
|
38
|
+
ISSUES_LINK = "https://github.com/pboling/rspec-pending_for/issues"
|
37
39
|
RELEVANT_VERSIONS_PROC = lambda { |rv| "#{BROKEN_STRING} #{VERSIONS_STRING} #{rv} #{BUG_STRING}" }
|
38
40
|
|
39
41
|
attr_reader :message, :relevant_versions, :relevant_engine, :reason
|
@@ -45,10 +47,10 @@ module Rspec
|
|
45
47
|
warn_about_unrecognized_engine
|
46
48
|
# If engine is nil, then any matching versions should be pended
|
47
49
|
@message = if @relevant_engine.nil?
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
no_engine_specified
|
51
|
+
elsif RubyEngine.is?(@relevant_engine)
|
52
|
+
engine_specified_and_relevant
|
53
|
+
end
|
52
54
|
end
|
53
55
|
|
54
56
|
def current_matches_specified?
|
@@ -60,10 +62,10 @@ module Rspec
|
|
60
62
|
def warn_about_unrecognized_engine
|
61
63
|
return false if relevant_engine.nil? || !INTERPRETER_MATRIX[relevant_engine].nil?
|
62
64
|
|
63
|
-
warn
|
65
|
+
warn(%[
|
64
66
|
Engine specified (#{relevant_engine}) is not known to rspec-pending_for.
|
65
67
|
If it is a real RUBY_ENGINE, please report as a bug to #{ISSUES_LINK}
|
66
|
-
]
|
68
|
+
])
|
67
69
|
end
|
68
70
|
|
69
71
|
def no_engine_specified
|