kettle-test 1.0.8 → 1.0.10

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: 8873d02c97ae25125b1bd5e28afb7d39569147ecf825a7ee9b1a3bf683625f00
4
- data.tar.gz: ffa4fb9d179b2c50aaee2916fb1d62f38d1b8f8223b2860b8f70fc6558cf19ed
3
+ metadata.gz: 79fc981181a8f3b48ffa133eeeea78ad356c5f1bc2816facd7890196b818ca4a
4
+ data.tar.gz: 301dffb357aa9de2b960e8b7e8026f10d9d3d3770f39beda8856fdecf3e68828
5
5
  SHA512:
6
- metadata.gz: 047db72c8c38f6ff2452a02ac8e3faeebdc38a582ea052ade396114df0d367ccdc83307dc11e083347813a7b87d7febdfda210d454f549ccd8968f353a5cea77
7
- data.tar.gz: dacda95d681dc7cf866dd14d3fb13abdaff14d72771bbada906654e9231f7ce6df2db0c352537443053f29b2fe0a52c27b0167760153dae50faa8c25e5aebc99
6
+ metadata.gz: 5f71ae20e1df354bd9a7df27798bcbcbbc72c18e2d37675887a4b5fae0c71f61d4303963147cad26c3bbc6e236a318f478f60f961416069d895f471b2c481cc4
7
+ data.tar.gz: 3e49306564d004d2660f7c097a65dcb193bd475de691f43e960eb54229db76af340b55d2b28a080257761a45ae2af805098dd7f35d2079029e99ff38ddf5c0dc
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,32 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.0.10] - 2026-02-06
34
+
35
+ - TAG: [v1.0.10][1.0.10t]
36
+ - COVERAGE: 100.00% -- 86/86 lines in 15 files
37
+ - BRANCH COVERAGE: 100.00% -- 2/2 branches in 15 files
38
+ - 100.00% documented
39
+
40
+ ### Changed
41
+
42
+ - Upgraded to [appraisal2 v3.0.1](https://github.com/appraisal-rb/appraisal2/releases/tag/v3.0.1)
43
+
44
+ ### Fixed
45
+
46
+ - removed redundant development dependencies
47
+
48
+ ## [1.0.9] - 2026-02-06
49
+
50
+ - TAG: [v1.0.9][1.0.9t]
51
+ - COVERAGE: 100.00% -- 86/86 lines in 15 files
52
+ - BRANCH COVERAGE: 100.00% -- 2/2 branches in 15 files
53
+ - 100.00% documented
54
+
55
+ ### Added
56
+
57
+ - Document usage of rspec-pending_for
58
+
33
59
  ## [1.0.8] - 2026-02-06
34
60
 
35
61
  - TAG: [v1.0.8][1.0.8t]
@@ -174,7 +200,11 @@ Please file a bug if you notice a violation of semantic versioning.
174
200
  - silent_stream
175
201
  - timecop-rspec
176
202
 
177
- [Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.8...HEAD
203
+ [Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.10...HEAD
204
+ [1.0.10]: https://github.com/kettle-rb/kettle-test/compare/v1.0.9...v1.0.10
205
+ [1.0.10t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.10
206
+ [1.0.9]: https://github.com/kettle-rb/kettle-test/compare/v1.0.8...v1.0.9
207
+ [1.0.9t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.9
178
208
  [1.0.8]: https://github.com/kettle-rb/kettle-test/compare/v1.0.7...v1.0.8
179
209
  [1.0.8t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.8
180
210
  [1.0.7]: https://github.com/kettle-rb/kettle-test/compare/v1.0.6...v1.0.7
data/README.md CHANGED
@@ -399,6 +399,94 @@ Or run:
399
399
  DEBUG=true bundle exec rspec
400
400
  ```
401
401
 
402
+ ### Version-based pending and skipping
403
+
404
+ Use rspec-pending_for to conditionally pending or skip examples based on Ruby version and engine.
405
+
406
+ The `pending_for` and `skip_for` macros support flexible version specifications:
407
+
408
+ **Supported version forms:**
409
+ - String: exact or partial match to RUBY_VERSION (e.g., "3.2.4", "3.2", or "3")
410
+ - Array of strings: any matching entry triggers pending/skip
411
+ - Range of Gem::Version: inclusive/exclusive endpoints respected
412
+ - Range of Integer: compares major version only (e.g., 2..3 for Ruby 2.x and 3.x)
413
+
414
+ **Supported engines:** :ruby (MRI), :jruby, :truffleruby
415
+
416
+ **Specifying versions:**
417
+
418
+ ```ruby
419
+ RSpec.describe("version-specific behavior") do
420
+ # Exact version string
421
+ it "pends only on Ruby 3.2.4" do
422
+ pending_for(engine: :ruby, versions: "3.2.4")
423
+ # ...
424
+ end
425
+
426
+ # Multiple exact versions
427
+ it "pends on a set of MRI versions" do
428
+ pending_for(engine: :ruby, versions: %w[2.7.10 3.0.7 3.1.6])
429
+ end
430
+
431
+ # Match any engine by version (no :engine)
432
+ it "skips on any engine if version equals 2.7.8" do
433
+ skip_for(versions: "2.7.8", reason: "Known upstream incompatibility")
434
+ end
435
+
436
+ # Range of Gem::Version (inclusive)
437
+ it "pends for MRI >= 2.6.0 and <= 3.0.0" do
438
+ pending_for(
439
+ engine: :ruby,
440
+ versions: (Gem::Version.new("2.6.0")..Gem::Version.new("3.0.0")),
441
+ )
442
+ end
443
+
444
+ # Range of Gem::Version (exclusive end)
445
+ it "skips for MRI >= 3.1.0 and < 3.3.0" do
446
+ skip_for(
447
+ engine: :ruby,
448
+ versions: (Gem::Version.new("3.1.0")...Gem::Version.new("3.3.0")),
449
+ )
450
+ end
451
+
452
+ # Range of Integer (major versions)
453
+ it "pends on all Ruby 2.x and 3.x" do
454
+ pending_for(versions: (2..3), reason: "Major series currently affected")
455
+ end
456
+
457
+ it "skips on Ruby 2.x but not 3.x" do
458
+ skip_for(versions: (2...3)) # 2 <= version < 3
459
+ end
460
+ end
461
+ ```
462
+
463
+ **Using with RSpec tags:**
464
+
465
+ ```ruby
466
+ RSpec.configure do |config|
467
+ # Auto-skip examples requiring specific Ruby versions via tags
468
+ config.before(:each, :requires_ruby_32) do
469
+ skip_for(
470
+ reason: "Requires Ruby >= 3.2",
471
+ versions: %w[2.7 3.0 3.1],
472
+ )
473
+ end
474
+ end
475
+
476
+ RSpec.describe("something") do
477
+ it "runs only on Ruby 3.2+", :requires_ruby_32 do
478
+ # ... your example code ...
479
+ end
480
+ end
481
+ ```
482
+
483
+ **Notes:**
484
+ - Omit :engine to match any Ruby engine (MRI, JRuby, TruffleRuby)
485
+ - Omit :versions with :engine to match all versions of that engine
486
+ - JRuby and TruffleRuby are matched using their RUBY_VERSION compatibility
487
+ - String matching supports partial versions ("3.1" matches "3.1.x" but not "3.0.x")
488
+ - Provide :reason to override the default message in reports
489
+
402
490
  ### CI-only filtering
403
491
 
404
492
  Examples or groups tagged with :skip_ci are excluded on CI (CI=true).
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The current version of kettle-test.
8
8
  # @return [String]
9
- VERSION = "1.0.8"
9
+ VERSION = "1.0.10"
10
10
  end
11
11
  VERSION = Version::VERSION # Traditional constant at module level
12
12
  end
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.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -64,6 +64,9 @@ dependencies:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '3.0'
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 3.0.2
67
70
  type: :runtime
68
71
  prerelease: false
69
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,6 +74,9 @@ dependencies:
71
74
  - - "~>"
72
75
  - !ruby/object:Gem::Version
73
76
  version: '3.0'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 3.0.2
74
80
  - !ruby/object:Gem::Dependency
75
81
  name: backports
76
82
  requirement: !ruby/object:Gem::Requirement
@@ -275,20 +281,6 @@ dependencies:
275
281
  - - ">="
276
282
  - !ruby/object:Gem::Version
277
283
  version: 1.0.4
278
- - !ruby/object:Gem::Dependency
279
- name: appraisal2
280
- requirement: !ruby/object:Gem::Requirement
281
- requirements:
282
- - - "~>"
283
- - !ruby/object:Gem::Version
284
- version: '3.0'
285
- type: :development
286
- prerelease: false
287
- version_requirements: !ruby/object:Gem::Requirement
288
- requirements:
289
- - - "~>"
290
- - !ruby/object:Gem::Version
291
- version: '3.0'
292
284
  - !ruby/object:Gem::Dependency
293
285
  name: ruby-progressbar
294
286
  requirement: !ruby/object:Gem::Requirement
@@ -343,26 +335,6 @@ dependencies:
343
335
  - - ">="
344
336
  - !ruby/object:Gem::Version
345
337
  version: 1.0.3
346
- - !ruby/object:Gem::Dependency
347
- name: kettle-test
348
- requirement: !ruby/object:Gem::Requirement
349
- requirements:
350
- - - "~>"
351
- - !ruby/object:Gem::Version
352
- version: '1.0'
353
- - - ">="
354
- - !ruby/object:Gem::Version
355
- version: 1.0.6
356
- type: :development
357
- prerelease: false
358
- version_requirements: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - "~>"
361
- - !ruby/object:Gem::Version
362
- version: '1.0'
363
- - - ">="
364
- - !ruby/object:Gem::Version
365
- version: 1.0.6
366
338
  description: "\U0001F372 Kettle::Test is a meta tool from kettle-rb to streamline
367
339
  testing. Acts as a shim dependency, pulling in many other dependencies, to give
368
340
  you OOTB productivity with a RubyGem, or Ruby app project. Configures RSpec w/ syntactic
@@ -418,10 +390,10 @@ licenses:
418
390
  - MIT
419
391
  metadata:
420
392
  homepage_uri: https://kettle-test.galtzo.com/
421
- source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.8
422
- changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.8/CHANGELOG.md
393
+ source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.10
394
+ changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.10/CHANGELOG.md
423
395
  bug_tracker_uri: https://github.com/kettle-rb/kettle-test/issues
424
- documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.8
396
+ documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.10
425
397
  funding_uri: https://github.com/sponsors/pboling
426
398
  wiki_uri: https://github.com/kettle-rb/kettle-test/wiki
427
399
  news_uri: https://www.railsbling.com/tags/kettle-test
metadata.gz.sig CHANGED
Binary file