rspec-pending_for 0.1.18 → 0.1.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1d0659caeb69f7783bdd1d6ec26e5c544a1ebc772cb762d4970ae7cc8d73d9d
4
- data.tar.gz: 95a592a753377b39d012763451386160023e578f80ebbc487bdd3a5daac64254
3
+ metadata.gz: 34ad1f42bd1f07f344a29d7bbe84e215023951abc2021c513faf3ccf3969bbd7
4
+ data.tar.gz: 94a6e6136ab460d216b0f1acbbf038990256e2c2f9050c071f0a7cd9ac04a153
5
5
  SHA512:
6
- metadata.gz: 2907b74df94884a8652a12452b47deea8216000a79ef99218d25ecd8773dd22bcc23d18d89d789953effc2615c92490aeecd51f68f0b239749cbf366584a665e
7
- data.tar.gz: ed7d7ba8a563245cb32da15235dd6c2cec31e79ea6762e0d2a9738c51f631f9ea4bc4983dbccc44c3327d23ccdef9fcae7c266cc3b6fd378e54c1b668a9ccaec
6
+ metadata.gz: 05ae213408cd139b8d3954898e2ac421e212692b13be6b94148acb1b2cb1ce6c0ac360cab47ea94f6e6bbba9c75b74d4e76fd7034fce2d8fa829123af9df50fd
7
+ data.tar.gz: '008c43e53088dd3734521cfce635ca6d285ecb818abc7e8de9139393b9204886a5503a5d4246f79b1ffdb53eaaa4b98033b77c0d79001d191dc4b3f33d21d7cf'
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -24,7 +24,24 @@ Please file a bug if you notice a violation of semantic versioning.
24
24
  ### Fixed
25
25
  ### Security
26
26
 
27
- ## [0.1.18] - 2025-02-24 ([tag][0.1.18t])
27
+ ## [0.1.19] - 2025-09-05
28
+ - TAG: [v0.1.19][0.1.19t]
29
+ - COVERAGE: 100.00% -- 96/96 lines in 6 files
30
+ - BRANCH COVERAGE: 100.00% -- 41/41 branches in 6 files
31
+ - 63.64% documented
32
+ ### Added
33
+ - comprehensive documentation and examples in README.md
34
+ - support minor version shorthand matching
35
+ - i.e., 3.2 will skip 3.2.8
36
+ ### Changed
37
+ - issues link updated to new org home: galtzo-floss/rspec-pending_for
38
+ - upgrade to kettle-dev v1.1.5 template
39
+ ### Fixed
40
+ - fixed handling of version ranges in `skip_for`/`pending_for`
41
+ - release date in changelog
42
+ - truffleruby compatibility without warnings about typo in engine name
43
+
44
+ ## [0.1.18] - 2025-08-24
28
45
  - TAG: [v0.1.8][0.1.18t]
29
46
  - COVERAGE: 100.00% -- 86/86 lines in 6 files
30
47
  - BRANCH COVERAGE: 100.00% -- 33/33 branches in 6 files
@@ -32,7 +49,7 @@ Please file a bug if you notice a violation of semantic versioning.
32
49
  ### Added
33
50
  - Versions can now be ranges!
34
51
 
35
- ## [0.1.17] - 2025-02-24 ([tag][0.1.17t])
52
+ ## [0.1.17] - 2025-02-24
36
53
  - TAG: [v0.1.7][0.1.17t]
37
54
  - COVERAGE: 98.44% -- 63/64 lines in 6 files
38
55
  - BRANCH COVERAGE: 94.44% -- 17/18 branches in 6 files
@@ -43,7 +60,9 @@ Please file a bug if you notice a violation of semantic versioning.
43
60
  - Compatibility with truffleruby (maybe? not able to run it in CI yet)
44
61
  - Fixed compatibility with Ruby < 2
45
62
 
46
- [Unreleased]: https://github.com/pboling/rspec-pending_for/compare/v0.1.18...HEAD
63
+ [Unreleased]: https://github.com/galtzo-floss/rspec-pending_for/compare/v0.1.19...HEAD
64
+ [0.1.19]: https://github.com/galtzo-floss/rspec-pending_for/compare/v0.1.18...v0.1.19
65
+ [0.1.19t]: https://github.com/galtzo-floss/rspec-pending_for/releases/tag/v0.1.19
47
66
  [0.1.18]: https://github.com/pboling/rspec-pending_for/compare/v0.1.17...v0.1.18
48
67
  [0.1.18t]: https://github.com/pboling/rspec-pending_for/tags/v0.1.18
49
68
  [0.1.17]: https://github.com/pboling/rspec-pending_for/compare/v0.1.16...v0.1.17
data/CITATION.cff CHANGED
@@ -12,9 +12,9 @@ authors:
12
12
  orcid: 'https://orcid.org/0009-0008-8519-441X'
13
13
  identifiers:
14
14
  - type: url
15
- value: 'https://github.com/galtzo-floss/rspec-pending_for/'
15
+ value: 'https://github.com/galtzo-floss/rspec-pending_for'
16
16
  description: rspec-pending_for
17
- repository-code: 'https://github.com/galtzo-floss/rspec-pending_for/'
17
+ repository-code: 'https://github.com/galtzo-floss/rspec-pending_for'
18
18
  abstract: >-
19
19
  rspec-pending_for
20
20
  license: See license file
data/CONTRIBUTING.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Contributing
2
2
 
3
- Bug reports and pull requests are welcome on GitHub, CodeBerg, or [GitLab][🚎src-main].
3
+ Bug reports and pull requests are welcome on [CodeBerg][📜src-cb], [GitLab][📜src-gl], or [GitHub][📜src-gh].
4
4
  This project should be a safe, welcoming space for collaboration, so contributors agree to adhere to
5
5
  the [code of conduct][🤝conduct].
6
6
 
7
7
  To submit a patch, please fork the project, create a patch with tests, and send a pull request.
8
8
 
9
- Remember to [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog].
9
+ Remember to [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] if you make changes.
10
10
 
11
11
  ## Help out!
12
12
 
@@ -22,16 +22,52 @@ Follow these instructions:
22
22
  6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
23
23
  7. Create new Pull Request.
24
24
 
25
+ ## Environment Variables for Local Development
26
+
27
+ Below are the primary environment variables recognized by stone_checksums (and its integrated tools). Unless otherwise noted, set boolean values to the string "true" to enable.
28
+
29
+ General/runtime
30
+ - DEBUG: Enable extra internal logging for this library (default: false)
31
+ - REQUIRE_BENCH: Enable `require_bench` to profile requires (default: false)
32
+ - CI: When set to true, adjusts default rake tasks toward CI behavior
33
+
34
+ Coverage (kettle-soup-cover / SimpleCov)
35
+ - K_SOUP_COV_DO: Enable coverage collection (default: true in .envrc)
36
+ - K_SOUP_COV_FORMATTERS: Comma-separated list of formatters (html, xml, rcov, lcov, json, tty)
37
+ - K_SOUP_COV_MIN_LINE: Minimum line coverage threshold (integer, e.g., 100)
38
+ - K_SOUP_COV_MIN_BRANCH: Minimum branch coverage threshold (integer, e.g., 100)
39
+ - K_SOUP_COV_MIN_HARD: Fail the run if thresholds are not met (true/false)
40
+ - K_SOUP_COV_MULTI_FORMATTERS: Enable multiple formatters at once (true/false)
41
+ - K_SOUP_COV_OPEN_BIN: Path to browser opener for HTML (empty disables auto-open)
42
+ - MAX_ROWS: Limit console output rows for simplecov-console (e.g., 1)
43
+ Tip: When running a single spec file locally, you may want `K_SOUP_COV_MIN_HARD=false` to avoid failing thresholds for a partial run.
44
+
45
+ GitHub API and CI helpers
46
+ - GITHUB_TOKEN or GH_TOKEN: Token used by `ci:act` and release workflow checks to query GitHub Actions status at higher rate limits
47
+
48
+ Releasing and signing
49
+ - SKIP_GEM_SIGNING: If set, skip gem signing during build/release
50
+ - GEM_CERT_USER: Username for selecting your public cert in `certs/<USER>.pem` (defaults to $USER)
51
+ - SOURCE_DATE_EPOCH: Reproducible build timestamp. `kettle-release` will set this automatically for the session.
52
+
53
+ Git hooks and commit message helpers (exe/kettle-commit-msg)
54
+ - GIT_HOOK_BRANCH_VALIDATE: Branch name validation mode (e.g., `jira`) or `false` to disable
55
+ - GIT_HOOK_FOOTER_APPEND: Append a footer to commit messages when goalie allows (true/false)
56
+ - GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
57
+ - GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
58
+
59
+ For a quick starting point, this repository’s `.envrc` shows sane defaults, and `.env.local` can override them locally.
60
+
25
61
  ## Appraisals
26
62
 
27
- From time to time the Appraisal2 gemfiles in `gemfiles/` will need to be updated.
63
+ From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
28
64
  They are created and updated with the commands:
29
65
 
30
66
  ```console
31
67
  bin/rake appraisal:update
32
68
  ```
33
69
 
34
- When adding an appraisal to CI check the [runner tool cache][🏃‍♂️runner-tool-cache] to see which runner to use.
70
+ When adding an appraisal to CI, check the [runner tool cache][🏃‍♂️runner-tool-cache] to see which runner to use.
35
71
 
36
72
  ## The Reek List
37
73
 
@@ -51,6 +87,13 @@ To run all tests
51
87
  bundle exec rake test
52
88
  ```
53
89
 
90
+ ### Spec organization (required)
91
+
92
+ - One spec file per class/module. For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name exactly: `lib/rspec/pending_for/release_cli.rb` -> `spec/rspec/pending_for/release_cli_spec.rb`.
93
+ - Never add a second spec file for the same class/module. Examples of disallowed names: `*_more_spec.rb`, `*_extra_spec.rb`, `*_status_spec.rb`, or any other suffix that still targets the same class. If you find yourself wanting a second file, merge those examples into the canonical spec file for that class/module.
94
+ - Exception: Integration specs that intentionally span multiple classes. Place these under `spec/integration/` (or a clearly named integration folder), and do not directly mirror a single class. Name them after the scenario, not a class.
95
+ - Migration note: If a duplicate spec file exists, move all examples into the canonical file and delete the duplicate. Do not leave stubs or empty files behind.
96
+
54
97
  ## Lint It
55
98
 
56
99
  Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
@@ -92,19 +135,21 @@ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/rspec-pending_for
92
135
 
93
136
  ### One-time, Per-maintainer, Setup
94
137
 
95
- **IMPORTANT**: If you want to sign the build you create,
96
- your public key for signing gems will need to be picked up by the line in the
138
+ **IMPORTANT**: To sign a build,
139
+ a public key for signing gems will need to be picked up by the line in the
97
140
  `gemspec` defining the `spec.cert_chain` (check the relevant ENV variables there).
98
- All releases to RubyGems.org will be signed.
141
+ All releases to RubyGems.org are signed releases.
99
142
  See: [RubyGems Security Guide][🔒️rubygems-security-guide]
100
143
 
101
- NOTE: To build without signing the gem you must set `SKIP_GEM_SIGNING` to some value in your environment.
144
+ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in the environment.
102
145
 
103
146
  ### To release a new version:
104
147
 
105
148
  #### Automated process
106
149
 
107
- Run `kettle-release`.
150
+ 1. Update version.rb to contian the correct version-to-be-released.
151
+ 2. Run `bundle exec kettle-changelog`.
152
+ 3. Run `bundle exec kettle-release`.
108
153
 
109
154
  #### Manual process
110
155
 
@@ -133,7 +178,9 @@ Run `kettle-release`.
133
178
  13. Run `bundle exec rake release` which will create a git tag for the version,
134
179
  push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
135
180
 
136
- [🚎src-main]: https://gitlab.com/galtzo-floss/rspec-pending_for
181
+ [📜src-gl]: https://gitlab.com/galtzo-floss/rspec-pending_for/
182
+ [📜src-cb]: https://codeberg.org/galtzo-floss/rspec-pending_for
183
+ [📜src-gh]: https://github.com/galtzo-floss/rspec-pending_for
137
184
  [🧪build]: https://github.com/galtzo-floss/rspec-pending_for/actions
138
185
  [🤝conduct]: https://gitlab.com/galtzo-floss/rspec-pending_for/-/blob/main/CODE_OF_CONDUCT.md
139
186
  [🖐contrib-rocks]: https://contrib.rocks
@@ -149,4 +196,5 @@ Run `kettle-release`.
149
196
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
150
197
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
151
198
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
199
+ [🚎appraisal2]: https://github.com/appraisal-rb/appraisal2
152
200
  [🏃‍♂️runner-tool-cache]: https://github.com/ruby/ruby-builder/releases/tag/toolcache
data/FUNDING.md ADDED
@@ -0,0 +1,77 @@
1
+ <!-- RELEASE-NOTES-FOOTER-START -->
2
+
3
+ Official Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
4
+
5
+ Many paths lead to being a sponsor or a backer of this project. Are you on such a path?
6
+
7
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
8
+
9
+ [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
10
+
11
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
12
+ [⛳liberapay]: https://liberapay.com/pboling/donate
13
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
14
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
15
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
16
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
17
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
18
+ [🖇sponsor]: https://github.com/sponsors/pboling
19
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
20
+ [🖇polar]: https://polar.sh/pboling
21
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
22
+ [🖇kofi]: https://ko-fi.com/O5O86SNP4
23
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
24
+ [🖇patreon]: https://patreon.com/galtzo
25
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
26
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
27
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
28
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
29
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
30
+ [✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=flat
31
+
32
+ <!-- RELEASE-NOTES-FOOTER-END -->
33
+
34
+ # 🤑 Request for Help
35
+
36
+ Maintainers have teeth and need to pay their dentists.
37
+ After getting laid off in an RIF in March and filled with many dozens of rejections,
38
+ I'm now spending ~60+ hours a week building open source tools.
39
+ I'm hoping to be able to pay for my kids' health insurance this month,
40
+ so if you value the work I am doing, I need your support.
41
+ Please consider sponsoring me or the project.
42
+
43
+ To join the community or get help 👇️ Join the Discord.
44
+
45
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
46
+
47
+ To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
48
+
49
+ [![Sponsor galtzo-floss/rspec-pending_for on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
50
+
51
+ # Another Way to Support Open Source Software
52
+
53
+ > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
54
+ >—Anne Frank
55
+
56
+ I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions — totaling 79 hours of FLOSS coding over just the past seven days, a pretty regular week for me. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
57
+
58
+ If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
59
+
60
+ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
61
+
62
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
63
+
64
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
65
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
66
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
67
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
68
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
69
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
70
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
71
+ [🖇osc]: https://opencollective.com/galtzo-floss
72
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
73
+ [🖇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
74
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
75
+ [🖇floss-funding.dev]: https://floss-funding.dev
76
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
77
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 - 2018, 2020 - 2022, 2025 Peter H. Boling of RailsBling.com
1
+ Copyright (c) 2015-2018, 2020-2022, 2025 Peter H. Boling of Galtzo.com
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -9,15 +9,15 @@
9
9
 
10
10
  # ⏳️ Rspec::PendingFor
11
11
 
12
- [![Version][👽versioni]][👽version] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🔑codecovi]][🔑codecov] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
12
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🔑codecovi]][🔑codecov] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL]
13
13
 
14
14
  If ☝️ `ci_badges.map(&:color).detect { it != "green"}` [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
15
15
 
16
16
  ---
17
17
 
18
- OTOH, if `ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS is now my full-time job.
18
+ OTOH, if `ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
19
19
 
20
- [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
20
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
21
21
 
22
22
  ## 🌻 Synopsis
23
23
 
@@ -44,17 +44,40 @@ due to the inherent limitations of GitHub Actions.
44
44
 
45
45
  ## 💡 Info you can shake a stick at
46
46
 
47
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
48
+ |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
49
+ | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
50
+ | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
51
+ | 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] |
52
+ | Works with MRI Ruby 2 | ![Ruby 2.0 Compat][💎ruby-2.0i] ![Ruby 2.1 Compat][💎ruby-2.1i] ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![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] |
53
+ | Works with MRI Ruby 1 | ![Ruby 1.9 Compat][💎ruby-1.9i] |
54
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
55
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
56
+ | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
57
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
58
+ | Support | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
59
+ | Maintainer 🎖️ | [![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 Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
60
+ | `...` 💖 | [![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] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
61
+
62
+ ### Compatibility
63
+
64
+ Compatible with MRI Ruby 2.3+, and concordant releases of JRuby, and TruffleRuby.
65
+
66
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 |
67
+ |------------------------------------------------|-------------------------------------------------------------------------------------|
68
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
69
+
47
70
  ### Federated DVCS
48
71
 
49
72
  <details>
50
- <summary>Find this repo on other forges (Coming soon!)</summary>
73
+ <summary>Find this repo on other forges</summary>
51
74
 
52
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
53
- |-------------------------------------------------------|-------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
54
- | 🧪 [galtzo-floss/rspec-pending_for on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ |
55
- | 🧊 [galtzo-floss/rspec-pending_for on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
56
- | 🐙 [galtzo-floss/rspec-pending_for on GitHub][📜src-gh] | A Dirty Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | [💚][gh-discussions] |
57
- | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
75
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
76
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
77
+ | 🧪 [galtzo-floss/rspec-pending_for on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ |
78
+ | 🧊 [galtzo-floss/rspec-pending_for on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
79
+ | 🐙 [galtzo-floss/rspec-pending_for on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | [💚][gh-discussions] |
80
+ | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
58
81
 
59
82
  </details>
60
83
 
@@ -62,47 +85,40 @@ due to the inherent limitations of GitHub Actions.
62
85
 
63
86
  ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/rspec-pending_for)](https://tidelift.com/subscription/pkg/rubygems-rspec-pending_for?utm_source=rubygems-rspec-pending_for&utm_medium=referral&utm_campaign=readme)
64
87
 
88
+ Available as part of the Tidelift Subscription.
89
+
65
90
  <details>
66
91
  <summary>Need enterprise-level guarantees?</summary>
67
92
 
93
+ The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
94
+
68
95
  [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
69
96
 
70
- - 💡Subscribe for support guarantees covering _all_ FLOSS dependencies
97
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
71
98
  - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
72
99
  - 💡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
73
100
 
74
101
  Alternatively:
75
102
 
76
- - [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
103
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
77
104
  - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
78
105
  - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
79
106
 
80
107
  </details>
81
108
 
82
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
83
- |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
84
- | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
85
- | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] <br/> [![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] |
86
- | 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] |
87
- | Works with MRI Ruby 2 | ![Ruby 2.0 Compat][💎ruby-2.0i] ![Ruby 2.1 Compat][💎ruby-2.1i] ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![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] |
88
- | Works with MRI Ruby 1 | ![Ruby 1.9 Compat][💎ruby-1.9i] |
89
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
90
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
91
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
92
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
93
- | Support | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
94
- | Maintainer 🎖️ | [![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 Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
95
- | `...` 💖 | [![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] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
96
-
97
109
  ## ✨ Installation
98
110
 
99
111
  Install the gem and add to the application's Gemfile by executing:
100
112
 
101
- $ bundle add rspec-pending_for
113
+ ```console
114
+ bundle add rspec-pending_for
115
+ ```
102
116
 
103
117
  If bundler is not being used to manage dependencies, install the gem by executing:
104
118
 
105
- $ gem install rspec-pending_for
119
+ ```console
120
+ gem install rspec-pending_for
121
+ ```
106
122
 
107
123
  ### 🔒 Secure Installation
108
124
 
@@ -197,6 +213,117 @@ it("blah is blah") do
197
213
  end
198
214
  ```
199
215
 
216
+ ### 📦 Specifying versions: supported forms and examples
217
+
218
+ The :versions option accepts several forms. You can also omit :engine to match any engine. The library compares using RubyVersion and Gem::Version rules and supports MRI, JRuby, and TruffleRuby.
219
+
220
+ Supported forms for :versions:
221
+ - String: exact match to RUBY_VERSION, e.g., "3.2.4".
222
+ - Array of strings or ranges: any entry that matches will trigger pending/skip.
223
+ - Range of Gem::Version: inclusive/exclusive endpoints are respected.
224
+ - Range of Integer: compares only the major version (e.g., 2..3 matches Ruby 2.x and 3.x depending on inclusive/exclusive).
225
+
226
+ Notes:
227
+ - If :engine is omitted, the version spec applies to whatever Ruby engine is running.
228
+ - If :versions is omitted and :engine is provided, all versions for that engine are matched.
229
+ - JRuby and TruffleRuby are matched using their RUBY_VERSION compatibility for Integer and Gem::Version ranges.
230
+ - Strings must either match the full version string exactly, or only specify a partial version.
231
+ - there is no parsing of comparison operators like ">= 3.1".
232
+ - Specifying "3.1" will match "3.1.x", but not "3.0.x" or "3.2.x".
233
+ - Specifying "3" will match "3.0.x", "3.1.x", "3.2.x", etc, but not "2.7.x" or "4.0.x".
234
+
235
+ Examples
236
+
237
+ 1) Exact version string
238
+ ```ruby
239
+ it "pend only on Ruby 3.2.4" do
240
+ pending_for(:engine => :ruby, :versions => "3.2.4")
241
+ # ...
242
+ end
243
+ ```
244
+
245
+ 2) Multiple exact versions
246
+ ```ruby
247
+ it "pend on a set of MRI versions" do
248
+ pending_for(:engine => :ruby, :versions => %w[2.7.10 3.0.7 3.1.6])
249
+ end
250
+ ```
251
+
252
+ 3) Match any engine by version (no :engine)
253
+ ```ruby
254
+ it "skip on any engine if the Ruby version equals 2.7.8" do
255
+ skip_for(:versions => "2.7.8", :reason => "Known upstream incompatibility on this patch release")
256
+ end
257
+ ```
258
+
259
+ 4) Range of Gem::Version (inclusive)
260
+ ```ruby
261
+ it "pend for MRI >= 2.6.0 and <= 3.0.0" do
262
+ pending_for(
263
+ :engine => :ruby,
264
+ :versions => (Gem::Version.new("2.6.0")..Gem::Version.new("3.0.0")),
265
+ )
266
+ end
267
+ ```
268
+
269
+ 5) Range of Gem::Version (exclusive end)
270
+ ```ruby
271
+ it "skip for MRI >= 3.1.0 and < 3.3.0" do
272
+ skip_for(
273
+ :engine => :ruby,
274
+ :versions => (Gem::Version.new("3.1.0")...Gem::Version.new("3.3.0")),
275
+ )
276
+ end
277
+ ```
278
+
279
+ 6) Range of Integer (major versions)
280
+ ```ruby
281
+ it "pend on all Ruby 2.x and 3.x" do
282
+ pending_for(:versions => (2..3), :reason => "Major series currently affected")
283
+ end
284
+
285
+ it "skip on Ruby 2.x but not 3.x" do
286
+ skip_for(:versions => (2...3)) # 2 <= version < 3
287
+ end
288
+ ```
289
+
290
+ Edge cases and tips
291
+ - If you pass a mismatched Range (e.g., begin/end types differ), the library will attempt cover? with string comparison, which typically won’t match; prefer the supported forms above.
292
+ - Provide :reason to override the default message in your reports.
293
+ - Engines recognized include: "ruby" (MRI), "jruby", "truffleruby", plus historical ones like "rbx". Unknown engines will emit a warning.
294
+
295
+ ### Using with RSpec tags
296
+
297
+ rspec-pending_for plays nicely with RSpec metadata tags. You can auto-skip or auto-pend examples based on tags via a before hook. This example also demonstrates the array form for :versions using %w[]:
298
+
299
+ ```ruby
300
+ require "rspec/pending_for"
301
+
302
+ RSpec.configure do |config|
303
+ config.include(Rspec::PendingFor)
304
+
305
+ # Auto-skip examples that require Bundler >= 2.7 (which implies Ruby >= 3.2)
306
+ config.before(:each, :bundler_27_only) do
307
+ # Skip on Ruby < 3.2 using rspec-pending_for's version matcher
308
+ skip_for(
309
+ :reason => "Requires Bundler >= 2.7 which is unavailable on Ruby < 3.2",
310
+ :versions => %w[2.3 2.4 2.5 2.6 2.7 3.0 3.1],
311
+ )
312
+ end
313
+ end
314
+
315
+ RSpec.describe("something") do
316
+ it "runs only where Bundler 2.7+ is available", :bundler_27_only do
317
+ # ... your example code ...
318
+ end
319
+ end
320
+ ```
321
+
322
+ Notes:
323
+ - The tag :bundler_27_only can be applied to individual examples or groups.
324
+ - The versions array is matched against RUBY_VERSION (e.g., 3.1.x) when :engine is omitted.
325
+ - Use :reason to make the report message explicit.
326
+
200
327
  ### Environment Variables
201
328
 
202
329
  Below are the primary environment variables recognized by rspec-pending_for (and its integrated tools). Unless otherwise noted, set boolean values to the string "true" to enable.
@@ -285,7 +412,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
285
412
 
286
413
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
287
414
 
288
- [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
415
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
289
416
 
290
417
  ## 🔐 Security
291
418
 
@@ -387,7 +514,7 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
387
514
 
388
515
  <ul>
389
516
  <li>
390
- Copyright (c) 2023, 2025 Peter H. Boling, of
517
+ Copyright (c) 2015-2018, 2020-2022, 2025 Peter H. Boling, of
391
518
  <a href="https://discord.gg/3qme4XHNKN">
392
519
  Galtzo.com
393
520
  <picture>
@@ -399,31 +526,35 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
399
526
 
400
527
  ## 🤑 A request for help
401
528
 
402
- Maintainers have teeth, and need to pay their dentists.
403
- After getting laid off in an RIF in March, and filled with many dozens of rejections,
404
- I'm now spending ~80 hours a week building open source tools.
529
+ Maintainers have teeth and need to pay their dentists.
530
+ After getting laid off in an RIF in March and filled with many dozens of rejections,
531
+ I'm now spending ~60+ hours a week building open source tools.
405
532
  I'm hoping to be able to pay for my kids' health insurance this month,
406
533
  so if you value the work I am doing, I need your support.
407
534
  Please consider sponsoring me or the project.
408
535
 
409
- [![Sponsor galtzo-floss/rspec-pending_for on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
536
+ To join the community or get help 👇️ Join the Discord.
410
537
 
411
- To say "thanks for maintaining such a great tool" 👇️ Join the Discord or ☝️ send money.
538
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
412
539
 
413
- To join the community or get help 👇️ Join the Discord.
540
+ To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
414
541
 
415
- [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
542
+ [![Sponsor galtzo-floss/rspec-pending_for on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
416
543
 
417
544
  ### Please give the project a star ⭐ ♥.
418
545
 
419
546
  Thanks for RTFM. ☺️
420
547
 
421
- [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611
548
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
422
549
  [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
423
550
  [⛳liberapay]: https://liberapay.com/pboling/donate
424
551
  [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
425
552
  [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
426
553
  [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
554
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
555
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
556
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
557
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
427
558
  [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
428
559
  [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
429
560
  [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
@@ -431,13 +562,13 @@ Thanks for RTFM. ☺️
431
562
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
432
563
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
433
564
  [🖇sponsor]: https://github.com/sponsors/pboling
434
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg
565
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
435
566
  [🖇polar]: https://polar.sh/pboling
436
- [🖇kofi-img]: https://img.shields.io/badge/ko--fi-✓-a51611.svg
567
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
437
568
  [🖇kofi]: https://ko-fi.com/O5O86SNP4
438
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg
569
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
439
570
  [🖇patreon]: https://patreon.com/galtzo
440
- [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-a51611.svg?style=flat
571
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
441
572
  [🖇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
442
573
  [🖇buyme]: https://www.buymeacoffee.com/pboling
443
574
  [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
@@ -446,25 +577,27 @@ Thanks for RTFM. ☺️
446
577
  [🖇floss-funding.dev]: https://floss-funding.dev
447
578
  [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
448
579
  [✉️discord-invite]: https://discord.gg/3qme4XHNKN
449
- [✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
580
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
450
581
 
451
582
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
452
583
  [⛳️gem-namespace]: https://github.com/galtzo-floss/rspec-pending_for
453
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-Rspec%3A%3APendingFor-3C2D2D.svg?style=square&logo=ruby&logoColor=white
584
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-Rspec::PendingFor-3C2D2D.svg?style=square&logo=ruby&logoColor=white
454
585
  [⛳️gem-name]: https://rubygems.org/gems/rspec-pending_for
455
586
  [⛳️name-img]: https://img.shields.io/badge/name-rspec--pending__for-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
587
+ [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/rspec-pending_for.svg
588
+ [⛳️tag]: http://github.com/galtzo-floss/rspec-pending_for/releases
456
589
  [🚂maint-blog]: http://www.railsbling.com/tags/rspec-pending_for
457
590
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
458
591
  [🚂maint-contact]: http://www.railsbling.com/contact
459
592
  [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
460
593
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
461
594
  [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
462
- [💖✌️wellfound]: https://wellfound.com/u/peter-boling/u/peter-boling
595
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
463
596
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
464
597
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
465
598
  [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
466
599
  [💖🐘ruby-mast]: https://ruby.social/@galtzo
467
- [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=flat&logo=mastodon&label=Ruby%20%40galtzo
600
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
468
601
  [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
469
602
  [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
470
603
  [💖🌳linktree]: https://linktr.ee/galtzo
@@ -554,7 +687,7 @@ Thanks for RTFM. ☺️
554
687
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
555
688
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
556
689
  [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
557
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
690
+ [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
558
691
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
559
692
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
560
693
  [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
@@ -588,9 +721,9 @@ Thanks for RTFM. ☺️
588
721
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
589
722
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
590
723
  [📌gitmoji]:https://gitmoji.dev
591
- [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20😜%20😍-34495e.svg?style=flat-square
724
+ [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
592
725
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
593
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.130-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
726
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.096-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
594
727
  [🔐security]: SECURITY.md
595
728
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
596
729
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -600,11 +733,11 @@ Thanks for RTFM. ☺️
600
733
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
601
734
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
602
735
  [🚎yard-current]: http://rubydoc.info/gems/rspec-pending_for
603
- [🚎yard-head]: https://rspec-stubbed-env.galtzo.com
736
+ [🚎yard-head]: https://rspec-pending-for.galtzo.com
604
737
  [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
605
738
  [💎SHA_checksums]: https://gitlab.com/galtzo-floss/rspec-pending_for/-/tree/main/checksums
606
739
  [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
607
- [💎rlts-img]: https://img.shields.io/badge/code_style_%26_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
740
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
608
741
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
609
742
  [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
610
743
  [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
@@ -16,7 +16,7 @@ module Rspec
16
16
  # | "maglev" | MagLev |
17
17
  # | "ironruby" | IronRuby |
18
18
  # | "cardinal" | Cardinal |
19
- # | "truffletuby" | Truffle Ruby |
19
+ # | "truffleruby" | Truffle Ruby |
20
20
  #
21
21
 
22
22
  # Keys are the
@@ -30,18 +30,28 @@ module Rspec
30
30
  "maglev" => "MagLev",
31
31
  "ironruby" => "IronRuby",
32
32
  "cardinal" => "Cardinal",
33
- "truffletuby" => "Truffle Ruby",
33
+ "truffleruby" => "Truffle Ruby",
34
34
  }.freeze
35
35
  BROKEN_STRING = "Behavior is broken"
36
36
  BUG_STRING = "due to a bug in the Ruby engine"
37
37
  VERSIONS_STRING = "in Ruby versions"
38
- ISSUES_LINK = "https://github.com/pboling/rspec-pending_for/issues"
38
+ ISSUES_LINK = "https://github.com/galtzo-floss/rspec-pending_for/issues"
39
39
  RELEVANT_VERSIONS_PROC = lambda { |rv| "#{BROKEN_STRING} #{VERSIONS_STRING} #{rv} #{BUG_STRING}" }
40
40
 
41
41
  attr_reader :message, :relevant_versions, :relevant_engine, :reason
42
42
 
43
43
  def initialize(options = {})
44
- @relevant_versions = Array(options[:versions]) # cast to array
44
+ # Normalize versions without enumerating ranges
45
+ raw_versions = options[:versions]
46
+ @relevant_versions = if raw_versions.nil?
47
+ []
48
+ elsif raw_versions.is_a?(Array)
49
+ raw_versions
50
+ elsif raw_versions.is_a?(Range)
51
+ [raw_versions]
52
+ else
53
+ [raw_versions]
54
+ end
45
55
  @relevant_engine = options[:engine].nil? ? nil : options[:engine].to_s
46
56
  @reason = options[:reason]
47
57
  warn_about_unrecognized_engine
@@ -78,7 +88,13 @@ module Rspec
78
88
  relevant_versions.any? do |spec|
79
89
  case spec
80
90
  when String
81
- spec == current_str
91
+ # Support minor-version shorthand like "3.1" to match any 3.1.x
92
+ if spec.to_s =~ /^\d+\.\d+$/
93
+ current_major_minor = current_str.to_s.split(".")[0, 2].join(".")
94
+ spec == current_major_minor
95
+ else
96
+ spec == current_str
97
+ end
82
98
  when Range
83
99
  b = spec.begin
84
100
  e = spec.end
@@ -3,7 +3,7 @@
3
3
  module Rspec
4
4
  module PendingFor
5
5
  module Version
6
- VERSION = "0.1.18"
6
+ VERSION = "0.1.19"
7
7
  end
8
8
 
9
9
  # Backwards compatability shim.
@@ -29,8 +29,8 @@ module Rspec
29
29
  #
30
30
  # @param options [Hash] pending configuration
31
31
  # @option options [String,Symbol] :engine ("ruby") Ruby engine name to match, e.g. :ruby, :jruby, :truffleruby
32
- # @option options [String,Array<String,Range>] :versions
33
- # A single version string or an Array of version specs. Each spec can be:
32
+ # @option options [String,Range,Array<String,Range>] :versions
33
+ # A single version string or range, or an Array of version specs. Each spec can be:
34
34
  # - String: exact version match (e.g., "2.7.8")
35
35
  # - Range<Gem::Version>: inclusive/exclusive bounds respected (e.g., Gem::Version.new("2.6.0")...Gem::Version.new("3.0.0"))
36
36
  # - Range<Integer>: compares Ruby major version (e.g., 2..3). Inclusive/exclusive respected.
@@ -51,8 +51,8 @@ module Rspec
51
51
  #
52
52
  # @param options [Hash] skip configuration
53
53
  # @option options [String,Symbol] :engine ("ruby") Ruby engine name to match, e.g. :ruby, :jruby, :truffleruby
54
- # @option options [String,Array<String,Range>] :versions
55
- # A single version string or an Array of version specs. Each spec can be:
54
+ # @option options [String,Range,Array<String,Range>] :versions
55
+ # A single version string or range, or an Array of version specs. Each spec can be:
56
56
  # - String: exact version match (e.g., "2.7.8")
57
57
  # - Range<Gem::Version>: inclusive/exclusive bounds respected (e.g., Gem::Version.new("2.6.0")...Gem::Version.new("3.0.0"))
58
58
  # - Range<Integer>: compares Ruby major version (e.g., 2..3). Inclusive/exclusive respected.
@@ -0,0 +1,17 @@
1
+ module Rspec
2
+ module PendingFor
3
+ class Build
4
+ @message: String?
5
+ @relevant_versions: Array[untyped]
6
+ @relevant_engine: String?
7
+ @reason: String?
8
+
9
+ def initialize: (?Hash[Symbol, untyped] options) -> void
10
+ def message: () -> String?
11
+ def relevant_versions: () -> Array[untyped]
12
+ def relevant_engine: () -> String?
13
+ def reason: () -> String?
14
+ def current_matches_specified?: () -> bool
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ module Rspec
2
+ module PendingFor
3
+ # Public API mixed into RSpec
4
+ def pending_for: (Hash[Symbol, untyped] options) -> untyped
5
+ def skip_for: (Hash[Symbol, untyped] options) -> untyped
6
+ end
7
+ end
data.tar.gz.sig CHANGED
@@ -1,5 +1,6 @@
1
- JŒ�5�A
2
- �����I0��ZB���
3
- ��1L�p���b?���4S ������x�;.��_'C�[#8��,�(�-����v �b`�/�lR&]��#(���%���?T�������,ѻh��F����O���2�����~
4
- ��<B��f��ctyCG�a����|`�Ť��t~
5
- >.�Z�\�\�D) ],^��0umiC+�!��HP����/��
1
+ B����{�A�mC8}\L���uٻ�5E׮Y��
2
+ �D�R��\
3
+ �=
4
+ ɍa���I����!�!�3�y#z�sP��]K
5
+ ����ӨJ47���_$�`|�Aӑ\���?T5"r��]Lpq ]������ubo���no��m�}
6
+ H����� �c=!c�����8�2�4F��+��Xl�S��^yvJ_j����T��]�}jso������� �G�27�F�z(�� �P���.�Y�EPQ����Dz3��������Of0m�*
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-pending_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -35,8 +35,28 @@ cert_chain:
35
35
  DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
36
36
  L9nRqA==
37
37
  -----END CERTIFICATE-----
38
- date: 2025-08-24 00:00:00.000000000 Z
38
+ date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: version_gem
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.1'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.1.8
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.1'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 1.1.8
40
60
  - !ruby/object:Gem::Dependency
41
61
  name: rspec-core
42
62
  requirement: !ruby/object:Gem::Requirement
@@ -80,54 +100,57 @@ dependencies:
80
100
  - !ruby/object:Gem::Version
81
101
  version: '1.0'
82
102
  - !ruby/object:Gem::Dependency
83
- name: appraisal2
103
+ name: kettle-dev
84
104
  requirement: !ruby/object:Gem::Requirement
85
105
  requirements:
86
106
  - - "~>"
87
107
  - !ruby/object:Gem::Version
88
- version: '3.0'
108
+ version: '1.0'
89
109
  type: :development
90
110
  prerelease: false
91
111
  version_requirements: !ruby/object:Gem::Requirement
92
112
  requirements:
93
113
  - - "~>"
94
114
  - !ruby/object:Gem::Version
95
- version: '3.0'
115
+ version: '1.0'
96
116
  - !ruby/object:Gem::Dependency
97
- name: minitest
117
+ name: bundler-audit
98
118
  requirement: !ruby/object:Gem::Requirement
99
119
  requirements:
100
120
  - - "~>"
101
121
  - !ruby/object:Gem::Version
102
- version: '5.3'
122
+ version: 0.9.2
103
123
  type: :development
104
124
  prerelease: false
105
125
  version_requirements: !ruby/object:Gem::Requirement
106
126
  requirements:
107
127
  - - "~>"
108
128
  - !ruby/object:Gem::Version
109
- version: '5.3'
129
+ version: 0.9.2
110
130
  - !ruby/object:Gem::Dependency
111
- name: rspec
131
+ name: rake
112
132
  requirement: !ruby/object:Gem::Requirement
113
133
  requirements:
114
134
  - - "~>"
115
135
  - !ruby/object:Gem::Version
116
- version: '3.13'
136
+ version: '13.0'
117
137
  type: :development
118
138
  prerelease: false
119
139
  version_requirements: !ruby/object:Gem::Requirement
120
140
  requirements:
121
141
  - - "~>"
122
142
  - !ruby/object:Gem::Version
123
- version: '3.13'
143
+ version: '13.0'
124
144
  - !ruby/object:Gem::Dependency
125
- name: rspec-block_is_expected
145
+ name: require_bench
126
146
  requirement: !ruby/object:Gem::Requirement
127
147
  requirements:
128
148
  - - "~>"
129
149
  - !ruby/object:Gem::Version
130
150
  version: '1.0'
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: 1.0.4
131
154
  type: :development
132
155
  prerelease: false
133
156
  version_requirements: !ruby/object:Gem::Requirement
@@ -135,22 +158,73 @@ dependencies:
135
158
  - - "~>"
136
159
  - !ruby/object:Gem::Version
137
160
  version: '1.0'
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: 1.0.4
138
164
  - !ruby/object:Gem::Dependency
139
- name: rspec_junit_formatter
165
+ name: appraisal2
140
166
  requirement: !ruby/object:Gem::Requirement
141
167
  requirements:
142
168
  - - "~>"
143
169
  - !ruby/object:Gem::Version
144
- version: '0.6'
170
+ version: '3.0'
145
171
  type: :development
146
172
  prerelease: false
147
173
  version_requirements: !ruby/object:Gem::Requirement
148
174
  requirements:
149
175
  - - "~>"
150
176
  - !ruby/object:Gem::Version
151
- version: '0.6'
177
+ version: '3.0'
152
178
  - !ruby/object:Gem::Dependency
153
- name: kettle-dev
179
+ name: kettle-test
180
+ requirement: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - "~>"
183
+ - !ruby/object:Gem::Version
184
+ version: '1.0'
185
+ type: :development
186
+ prerelease: false
187
+ version_requirements: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: '1.0'
192
+ - !ruby/object:Gem::Dependency
193
+ name: rspec-pending_for
194
+ requirement: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - "~>"
197
+ - !ruby/object:Gem::Version
198
+ version: '0.0'
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 0.0.17
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.0'
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: 0.0.17
212
+ - !ruby/object:Gem::Dependency
213
+ name: ruby-progressbar
214
+ requirement: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - "~>"
217
+ - !ruby/object:Gem::Version
218
+ version: '1.13'
219
+ type: :development
220
+ prerelease: false
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - "~>"
224
+ - !ruby/object:Gem::Version
225
+ version: '1.13'
226
+ - !ruby/object:Gem::Dependency
227
+ name: stone_checksums
154
228
  requirement: !ruby/object:Gem::Requirement
155
229
  requirements:
156
230
  - - "~>"
@@ -158,7 +232,7 @@ dependencies:
158
232
  version: '1.0'
159
233
  - - ">="
160
234
  - !ruby/object:Gem::Version
161
- version: 1.0.8
235
+ version: 1.0.2
162
236
  type: :development
163
237
  prerelease: false
164
238
  version_requirements: !ruby/object:Gem::Requirement
@@ -168,21 +242,27 @@ dependencies:
168
242
  version: '1.0'
169
243
  - - ">="
170
244
  - !ruby/object:Gem::Version
171
- version: 1.0.8
245
+ version: 1.0.2
172
246
  - !ruby/object:Gem::Dependency
173
- name: rake
247
+ name: gitmoji-regex
174
248
  requirement: !ruby/object:Gem::Requirement
175
249
  requirements:
176
250
  - - "~>"
177
251
  - !ruby/object:Gem::Version
178
- version: '13.0'
252
+ version: '1.0'
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 1.0.3
179
256
  type: :development
180
257
  prerelease: false
181
258
  version_requirements: !ruby/object:Gem::Requirement
182
259
  requirements:
183
260
  - - "~>"
184
261
  - !ruby/object:Gem::Version
185
- version: '13.0'
262
+ version: '1.0'
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: 1.0.3
186
266
  description: "⏳️ Mark specs pending or skipped for specific Ruby engine (e.g. MRI
187
267
  or JRuby) & versions, or version ranges. Fund overlooked open source projects -
188
268
  bottom of stack, dev/test dependencies: floss-funding.dev"
@@ -195,6 +275,7 @@ extra_rdoc_files:
195
275
  - CITATION.cff
196
276
  - CODE_OF_CONDUCT.md
197
277
  - CONTRIBUTING.md
278
+ - FUNDING.md
198
279
  - LICENSE.txt
199
280
  - README.md
200
281
  - REEK
@@ -205,6 +286,7 @@ files:
205
286
  - CITATION.cff
206
287
  - CODE_OF_CONDUCT.md
207
288
  - CONTRIBUTING.md
289
+ - FUNDING.md
208
290
  - LICENSE.txt
209
291
  - README.md
210
292
  - REEK
@@ -216,15 +298,17 @@ files:
216
298
  - lib/rspec/pending_for/engine_or_versions_required.rb
217
299
  - lib/rspec/pending_for/rspec.rb
218
300
  - lib/rspec/pending_for/version.rb
301
+ - sig/rspec/pending_for.rbs
302
+ - sig/rspec/pending_for/build.rbs
219
303
  homepage: https://github.com/galtzo-floss/rspec-pending_for
220
304
  licenses:
221
305
  - MIT
222
306
  metadata:
223
307
  homepage_uri: https://rspec-pending-for.galtzo.com/
224
- source_code_uri: https://github.com/galtzo-floss/rspec-pending_for/tree/v0.1.18
225
- changelog_uri: https://github.com/galtzo-floss/rspec-pending_for/blob/v0.1.18/CHANGELOG.md
308
+ source_code_uri: https://github.com/galtzo-floss/rspec-pending_for/tree/v0.1.19
309
+ changelog_uri: https://github.com/galtzo-floss/rspec-pending_for/blob/v0.1.19/CHANGELOG.md
226
310
  bug_tracker_uri: https://github.com/galtzo-floss/rspec-pending_for/issues
227
- documentation_uri: https://www.rubydoc.info/gems/rspec-pending_for/0.1.18
311
+ documentation_uri: https://www.rubydoc.info/gems/rspec-pending_for/0.1.19
228
312
  funding_uri: https://github.com/sponsors/pboling
229
313
  wiki_uri: https://github.com/galtzo-floss/rspec-pending_for/wiki
230
314
  news_uri: https://www.railsbling.com/tags/rspec-pending_for
metadata.gz.sig CHANGED
Binary file