kettle-test 1.0.5 → 1.0.7
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 +33 -1
- data/CONTRIBUTING.md +20 -22
- data/FUNDING.md +7 -10
- data/README.md +76 -25
- data/lib/kettle/test/config/ext/rspec/rspec_stubbed_env.rb +1 -0
- data/lib/kettle/test/version.rb +2 -1
- data/lib/kettle/test.rb +1 -0
- data.tar.gz.sig +0 -0
- metadata +11 -11
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 480c14b6dddd95cbb82eb12f607125e1115d3c990984ef0bd934dc3b077fd8d1
|
|
4
|
+
data.tar.gz: 69efe9d622290df8b6b0093ff18d4ef276d98b2264783c8d67c6b7d80b6038d3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e4844be650613c3d6540e43fab7e57e1ef1c17547db6939b0e03a37904b7a027d83e2d92173bf9b98ca624bfffe77f38bd0a4c95c5c3af95fdd7b288241e328
|
|
7
|
+
data.tar.gz: c6ca9370323b280fd8b7aaba6c76b9601557f443983f549a9f76afb583c704ffe88ebe6b1a01b0d6d7fa80761a0adedc0abf2676e8b4a768eef81f5d17797df6
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,34 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.0.7] - 2025-12-06
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.0.7][1.0.7t]
|
|
36
|
+
- COVERAGE: 100.00% -- 84/84 lines in 15 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 2/2 branches in 15 files
|
|
38
|
+
- 100.00% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- traditional `Kettle::Test::VERSION` constant
|
|
43
|
+
- make `hide_env` (from rspec-stubbed_env) available by default
|
|
44
|
+
- increased documentation to 100%, and added many documentation improvements
|
|
45
|
+
|
|
46
|
+
## [1.0.6] - 2025-10-21
|
|
47
|
+
|
|
48
|
+
- TAG: [v1.0.6][1.0.6t]
|
|
49
|
+
- COVERAGE: 100.00% -- 83/83 lines in 15 files
|
|
50
|
+
- BRANCH COVERAGE: 100.00% -- 2/2 branches in 15 files
|
|
51
|
+
- 94.44% documented
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
- more complete usage documentation
|
|
56
|
+
|
|
57
|
+
### Fixed
|
|
58
|
+
|
|
59
|
+
- completed change of backports to runtime dependency
|
|
60
|
+
|
|
33
61
|
## [1.0.5] - 2025-10-20
|
|
34
62
|
|
|
35
63
|
- TAG: [v1.0.5][1.0.5t]
|
|
@@ -129,7 +157,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
129
157
|
- silent_stream
|
|
130
158
|
- timecop-rspec
|
|
131
159
|
|
|
132
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.
|
|
160
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.7...HEAD
|
|
161
|
+
[1.0.7]: https://github.com/kettle-rb/kettle-test/compare/v1.0.6...v1.0.7
|
|
162
|
+
[1.0.7t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.7
|
|
163
|
+
[1.0.6]: https://github.com/kettle-rb/kettle-test/compare/v1.0.5...v1.0.6
|
|
164
|
+
[1.0.6t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.6
|
|
133
165
|
[1.0.5]: https://github.com/kettle-rb/kettle-test/compare/v1.0.4...v1.0.5
|
|
134
166
|
[1.0.5t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.5
|
|
135
167
|
[1.0.4]: https://github.com/kettle-rb/kettle-test/compare/v1.0.3...v1.0.4
|
data/CONTRIBUTING.md
CHANGED
|
@@ -24,31 +24,22 @@ Follow these instructions:
|
|
|
24
24
|
|
|
25
25
|
## Executables vs Rake tasks
|
|
26
26
|
|
|
27
|
-
Executables shipped by
|
|
28
|
-
|
|
27
|
+
Executables shipped by dependencies, such as kettle-dev, and stone_checksums, are available
|
|
28
|
+
after running `bin/setup`. These include:
|
|
29
29
|
|
|
30
|
+
- gem_checksums
|
|
30
31
|
- kettle-changelog
|
|
31
32
|
- kettle-commit-msg
|
|
32
|
-
- kettle-
|
|
33
|
+
- kettle-dev-setup
|
|
33
34
|
- kettle-dvcs
|
|
34
35
|
- kettle-pre-release
|
|
35
36
|
- kettle-readme-backers
|
|
36
37
|
- kettle-release
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
See the full list of rake tasks in head of Rakefile
|
|
39
|
+
There are many Rake tasks available as well. You can see them by running:
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
group :development do
|
|
44
|
-
gem "kettle-test", require: false
|
|
45
|
-
end
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Rakefile**
|
|
49
|
-
```ruby
|
|
50
|
-
# Rakefile
|
|
51
|
-
require "kettle/test"
|
|
41
|
+
```shell
|
|
42
|
+
bin/rake -T
|
|
52
43
|
```
|
|
53
44
|
|
|
54
45
|
## Environment Variables for Local Development
|
|
@@ -77,7 +68,9 @@ GitHub API and CI helpers
|
|
|
77
68
|
Releasing and signing
|
|
78
69
|
- SKIP_GEM_SIGNING: If set, skip gem signing during build/release
|
|
79
70
|
- GEM_CERT_USER: Username for selecting your public cert in `certs/<USER>.pem` (defaults to $USER)
|
|
80
|
-
- SOURCE_DATE_EPOCH: Reproducible build timestamp.
|
|
71
|
+
- SOURCE_DATE_EPOCH: Reproducible build timestamp.
|
|
72
|
+
- `kettle-release` will set this automatically for the session.
|
|
73
|
+
- Not needed on bundler >= 2.7.0, as reproducible builds have become the default.
|
|
81
74
|
|
|
82
75
|
Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
83
76
|
- GIT_HOOK_BRANCH_VALIDATE: Branch name validation mode (e.g., `jira`) or `false` to disable
|
|
@@ -96,6 +89,12 @@ They are created and updated with the commands:
|
|
|
96
89
|
bin/rake appraisal:update
|
|
97
90
|
```
|
|
98
91
|
|
|
92
|
+
If you need to reset all gemfiles/*.gemfile.lock files:
|
|
93
|
+
|
|
94
|
+
```console
|
|
95
|
+
bin/rake appraisal:reset
|
|
96
|
+
```
|
|
97
|
+
|
|
99
98
|
When adding an appraisal to CI, check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
|
100
99
|
|
|
101
100
|
## The Reek List
|
|
@@ -118,10 +117,8 @@ bundle exec rake test
|
|
|
118
117
|
|
|
119
118
|
### Spec organization (required)
|
|
120
119
|
|
|
121
|
-
- 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/kettle/test/
|
|
122
|
-
- 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.
|
|
120
|
+
- 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/kettle/test/my_class.rb` -> `spec/kettle/test/my_class_spec.rb`.
|
|
123
121
|
- 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.
|
|
124
|
-
- 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.
|
|
125
122
|
|
|
126
123
|
## Lint It
|
|
127
124
|
|
|
@@ -144,7 +141,7 @@ For more detailed information about using RuboCop in this project, please see th
|
|
|
144
141
|
Never add `# rubocop:disable ...` / `# rubocop:enable ...` comments to code or specs (except when following the few existing `rubocop:disable` patterns for a rule already being disabled elsewhere in the code). Instead:
|
|
145
142
|
|
|
146
143
|
- Prefer configuration-based exclusions when a rule should not apply to certain paths or files (e.g., via `.rubocop.yml`).
|
|
147
|
-
- When a violation is temporary and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
|
|
144
|
+
- When a violation is temporary, and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
|
|
148
145
|
- `bundle exec rake rubocop_gradual:autocorrect` (preferred)
|
|
149
146
|
- `bundle exec rake rubocop_gradual:force_update` (only when you cannot fix the violations immediately)
|
|
150
147
|
|
|
@@ -176,9 +173,10 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
176
173
|
|
|
177
174
|
#### Automated process
|
|
178
175
|
|
|
179
|
-
1. Update version.rb to
|
|
176
|
+
1. Update version.rb to contain the correct version-to-be-released.
|
|
180
177
|
2. Run `bundle exec kettle-changelog`.
|
|
181
178
|
3. Run `bundle exec kettle-release`.
|
|
179
|
+
4. Stay awake and monitor the release process for any errors, and answer any prompts.
|
|
182
180
|
|
|
183
181
|
#### Manual process
|
|
184
182
|
|
data/FUNDING.md
CHANGED
|
@@ -6,7 +6,7 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
6
6
|
|
|
7
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
8
|
|
|
9
|
-
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS
|
|
9
|
+
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
|
|
10
10
|
|
|
11
11
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
12
12
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
@@ -31,11 +31,11 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
31
31
|
|
|
32
32
|
<!-- RELEASE-NOTES-FOOTER-END -->
|
|
33
33
|
|
|
34
|
-
# 🤑
|
|
34
|
+
# 🤑 A request for help
|
|
35
35
|
|
|
36
36
|
Maintainers have teeth and need to pay their dentists.
|
|
37
|
-
After getting laid off in an RIF in March and
|
|
38
|
-
I
|
|
37
|
+
After getting laid off in an RIF in March, and encountering difficulty finding a new one,
|
|
38
|
+
I began spending most of my time building open source tools.
|
|
39
39
|
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
40
40
|
so if you value the work I am doing, I need your support.
|
|
41
41
|
Please consider sponsoring me or the project.
|
|
@@ -44,16 +44,13 @@ To join the community or get help 👇️ Join the Discord.
|
|
|
44
44
|
|
|
45
45
|
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
46
46
|
|
|
47
|
-
To say "thanks
|
|
47
|
+
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
48
48
|
|
|
49
|
-
[![Sponsor kettle-rb/kettle-test 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
|
|
49
|
+
[![Sponsor kettle-rb/kettle-test 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] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
50
50
|
|
|
51
51
|
# Another Way to Support Open Source Software
|
|
52
52
|
|
|
53
|
-
|
|
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).
|
|
53
|
+
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. 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
54
|
|
|
58
55
|
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
56
|
|
data/README.md
CHANGED
|
@@ -1,17 +1,35 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems
|
|
4
|
-
|
|
|
5
|
-
|
|
|
6
|
-
|
|
|
7
|
-
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
+
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
+
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
+
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
+
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
+
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
+
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
+
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
+
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
+
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
14
|
+
|
|
15
|
+
[rubygems-org]: https://github.com/rubygems/
|
|
8
16
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
9
17
|
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
18
|
+
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
19
|
+
[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
|
|
20
|
+
[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
|
|
10
21
|
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
11
22
|
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
23
|
+
[reinteractive]: https://reinteractive.com/ruby-on-rails
|
|
12
24
|
[gem-coop]: https://gem.coop
|
|
25
|
+
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
13
26
|
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
27
|
+
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
28
|
+
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
14
29
|
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
+
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
+
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
+
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
15
33
|
|
|
16
34
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-test Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-test-i]][🖼️kettle-test]
|
|
17
35
|
|
|
@@ -40,6 +58,21 @@ Add to your `spec/spec_helper.rb`:
|
|
|
40
58
|
|
|
41
59
|
```ruby
|
|
42
60
|
require "kettle/test/rspec"
|
|
61
|
+
|
|
62
|
+
# ... any other config you need to do.
|
|
63
|
+
|
|
64
|
+
# NOTE: Gemfiles for older rubies (< 2.7) won't have kettle-soup-cover.
|
|
65
|
+
# The rescue LoadError handles that scenario.
|
|
66
|
+
begin
|
|
67
|
+
require "kettle-soup-cover"
|
|
68
|
+
require "simplecov" if Kettle::Soup::Cover::DO_COV # `.simplecov` is run here!
|
|
69
|
+
rescue LoadError => error
|
|
70
|
+
# check the error message, and re-raise if not what is expected
|
|
71
|
+
raise error unless error.message.include?("kettle")
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# This gem (or app)
|
|
75
|
+
require "gem-under-test"
|
|
43
76
|
```
|
|
44
77
|
|
|
45
78
|
Now you have many powerful testing tools at your disposal, all fully [documented](#-configuration) and tested.
|
|
@@ -77,7 +110,7 @@ Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRu
|
|
|
77
110
|
|
|
78
111
|
### Federated DVCS
|
|
79
112
|
|
|
80
|
-
<details>
|
|
113
|
+
<details markdown="1">
|
|
81
114
|
<summary>Find this repo on federated forges (Coming soon!)</summary>
|
|
82
115
|
|
|
83
116
|
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
|
@@ -95,7 +128,7 @@ Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRu
|
|
|
95
128
|
|
|
96
129
|
Available as part of the Tidelift Subscription.
|
|
97
130
|
|
|
98
|
-
<details>
|
|
131
|
+
<details markdown="1">
|
|
99
132
|
<summary>Need enterprise-level guarantees?</summary>
|
|
100
133
|
|
|
101
134
|
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.
|
|
@@ -130,7 +163,7 @@ gem install kettle-test
|
|
|
130
163
|
|
|
131
164
|
### 🔒 Secure Installation
|
|
132
165
|
|
|
133
|
-
<details>
|
|
166
|
+
<details markdown="1">
|
|
134
167
|
<summary>For Medium or High Security Installations</summary>
|
|
135
168
|
|
|
136
169
|
This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
|
|
@@ -169,6 +202,21 @@ Add to your `spec/spec_helper.rb`:
|
|
|
169
202
|
|
|
170
203
|
```ruby
|
|
171
204
|
require "kettle/test/rspec"
|
|
205
|
+
|
|
206
|
+
# ... any other config you need to do.
|
|
207
|
+
|
|
208
|
+
# NOTE: Gemfiles for older rubies (< 2.7) won't have kettle-soup-cover.
|
|
209
|
+
# The rescue LoadError handles that scenario.
|
|
210
|
+
begin
|
|
211
|
+
require "kettle-soup-cover"
|
|
212
|
+
require "simplecov" if Kettle::Soup::Cover::DO_COV # `.simplecov` is run here!
|
|
213
|
+
rescue LoadError => error
|
|
214
|
+
# check the error message, and re-raise if not what is expected
|
|
215
|
+
raise error unless error.message.include?("kettle")
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
# This gem (or app)
|
|
219
|
+
require "gem-under-test"
|
|
172
220
|
```
|
|
173
221
|
|
|
174
222
|
That's it! Additional customizations can be done by setting environment variables.
|
|
@@ -337,15 +385,22 @@ Use rspec-stubbed_env to safely set and restore environment variables in specs.
|
|
|
337
385
|
|
|
338
386
|
```ruby
|
|
339
387
|
RSpec.describe("stubbed env") do
|
|
340
|
-
|
|
388
|
+
# kettle-test includes these globally, so they are always available
|
|
389
|
+
# include_context "with stubbed env"
|
|
390
|
+
# include_context "with hidden env"
|
|
341
391
|
|
|
342
392
|
before do
|
|
343
393
|
stub_env("FOO" => "is bar")
|
|
394
|
+
hide_env("PATH")
|
|
344
395
|
end
|
|
345
396
|
|
|
346
397
|
it "uses the stubbed value" do
|
|
347
398
|
expect(ENV["FOO"]).to(eq("is bar"))
|
|
348
399
|
end
|
|
400
|
+
|
|
401
|
+
it "has no path" do
|
|
402
|
+
expect(ENV["PATH"]).to(be_nil)
|
|
403
|
+
end
|
|
349
404
|
end
|
|
350
405
|
```
|
|
351
406
|
|
|
@@ -443,10 +498,7 @@ No sponsors yet. Be the first!
|
|
|
443
498
|
|
|
444
499
|
### Another way to support open-source
|
|
445
500
|
|
|
446
|
-
|
|
447
|
-
>—Anne Frank
|
|
448
|
-
|
|
449
|
-
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).
|
|
501
|
+
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. 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).
|
|
450
502
|
|
|
451
503
|
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`.
|
|
452
504
|
|
|
@@ -454,7 +506,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
|
|
|
454
506
|
|
|
455
507
|
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
456
508
|
|
|
457
|
-
[![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
|
|
509
|
+
[![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 efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
|
|
458
510
|
|
|
459
511
|
## 🔐 Security
|
|
460
512
|
|
|
@@ -530,12 +582,11 @@ For example:
|
|
|
530
582
|
spec.add_dependency("kettle-test", "~> 1.0")
|
|
531
583
|
```
|
|
532
584
|
|
|
533
|
-
<details>
|
|
585
|
+
<details markdown="1">
|
|
534
586
|
<summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
|
|
535
587
|
|
|
536
588
|
SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
|
|
537
|
-
is a *breaking change* to an API.
|
|
538
|
-
It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
|
|
589
|
+
is a *breaking change* to an API, and for that reason the bike shedding is endless.
|
|
539
590
|
|
|
540
591
|
To get a better understanding of how SemVer is intended to work over a project's lifetime,
|
|
541
592
|
read this article from the creator of SemVer:
|
|
@@ -569,8 +620,8 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
|
|
|
569
620
|
## 🤑 A request for help
|
|
570
621
|
|
|
571
622
|
Maintainers have teeth and need to pay their dentists.
|
|
572
|
-
After getting laid off in an RIF in March and
|
|
573
|
-
I
|
|
623
|
+
After getting laid off in an RIF in March, and encountering difficulty finding a new one,
|
|
624
|
+
I began spending most of my time building open source tools.
|
|
574
625
|
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
575
626
|
so if you value the work I am doing, I need your support.
|
|
576
627
|
Please consider sponsoring me or the project.
|
|
@@ -581,7 +632,7 @@ To join the community or get help 👇️ Join the Discord.
|
|
|
581
632
|
|
|
582
633
|
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
583
634
|
|
|
584
|
-
[![Sponsor kettle-rb/kettle-test 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
|
|
635
|
+
[![Sponsor kettle-rb/kettle-test 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] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
585
636
|
|
|
586
637
|
### Please give the project a star ⭐ ♥.
|
|
587
638
|
|
|
@@ -766,10 +817,10 @@ Thanks for RTFM. ☺️
|
|
|
766
817
|
[📌changelog]: CHANGELOG.md
|
|
767
818
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
768
819
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
|
769
|
-
[📌gitmoji]:https://gitmoji.dev
|
|
770
|
-
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
820
|
+
[📌gitmoji]: https://gitmoji.dev
|
|
821
|
+
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
771
822
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
772
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
823
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.084-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
773
824
|
[🔐security]: SECURITY.md
|
|
774
825
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
775
826
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/lib/kettle/test/version.rb
CHANGED
data/lib/kettle/test.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-test
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -219,14 +219,14 @@ dependencies:
|
|
|
219
219
|
requirements:
|
|
220
220
|
- - "~>"
|
|
221
221
|
- !ruby/object:Gem::Version
|
|
222
|
-
version:
|
|
222
|
+
version: 1.1.60
|
|
223
223
|
type: :development
|
|
224
224
|
prerelease: false
|
|
225
225
|
version_requirements: !ruby/object:Gem::Requirement
|
|
226
226
|
requirements:
|
|
227
227
|
- - "~>"
|
|
228
228
|
- !ruby/object:Gem::Version
|
|
229
|
-
version:
|
|
229
|
+
version: 1.1.60
|
|
230
230
|
- !ruby/object:Gem::Dependency
|
|
231
231
|
name: bundler-audit
|
|
232
232
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -344,25 +344,25 @@ dependencies:
|
|
|
344
344
|
- !ruby/object:Gem::Version
|
|
345
345
|
version: 1.0.3
|
|
346
346
|
- !ruby/object:Gem::Dependency
|
|
347
|
-
name:
|
|
347
|
+
name: kettle-test
|
|
348
348
|
requirement: !ruby/object:Gem::Requirement
|
|
349
349
|
requirements:
|
|
350
350
|
- - "~>"
|
|
351
351
|
- !ruby/object:Gem::Version
|
|
352
|
-
version: '
|
|
352
|
+
version: '1.0'
|
|
353
353
|
- - ">="
|
|
354
354
|
- !ruby/object:Gem::Version
|
|
355
|
-
version:
|
|
355
|
+
version: 1.0.6
|
|
356
356
|
type: :development
|
|
357
357
|
prerelease: false
|
|
358
358
|
version_requirements: !ruby/object:Gem::Requirement
|
|
359
359
|
requirements:
|
|
360
360
|
- - "~>"
|
|
361
361
|
- !ruby/object:Gem::Version
|
|
362
|
-
version: '
|
|
362
|
+
version: '1.0'
|
|
363
363
|
- - ">="
|
|
364
364
|
- !ruby/object:Gem::Version
|
|
365
|
-
version:
|
|
365
|
+
version: 1.0.6
|
|
366
366
|
description: "\U0001F372 Kettle::Test is a meta tool from kettle-rb to streamline
|
|
367
367
|
testing. Acts as a shim dependency, pulling in many other dependencies, to give
|
|
368
368
|
you OOTB productivity with a RubyGem, or Ruby app project. Configures RSpec w/ syntactic
|
|
@@ -418,10 +418,10 @@ licenses:
|
|
|
418
418
|
- MIT
|
|
419
419
|
metadata:
|
|
420
420
|
homepage_uri: https://kettle-test.galtzo.com/
|
|
421
|
-
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.
|
|
422
|
-
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.
|
|
421
|
+
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.7
|
|
422
|
+
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.7/CHANGELOG.md
|
|
423
423
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-test/issues
|
|
424
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.
|
|
424
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.7
|
|
425
425
|
funding_uri: https://github.com/sponsors/pboling
|
|
426
426
|
wiki_uri: https://github.com/kettle-rb/kettle-test/wiki
|
|
427
427
|
news_uri: https://www.railsbling.com/tags/kettle-test
|
metadata.gz.sig
CHANGED
|
Binary file
|