version_gem 1.1.14 → 1.1.16

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: 62705aeb54e19419230583cca299f86e742b94ea7b6d4f949fa0f2c3abb790ee
4
- data.tar.gz: 0b287df7d9c93527228d92209716d125fb35893f67ddcb50c72835ed119e10c2
3
+ metadata.gz: 68d086c80e8586c848b5202cc510643ed450b267deb6b79a824447e8f4141696
4
+ data.tar.gz: de4f477736a6bff3cf5676157e9fc43e7e18e72c66d46822347b89a3f764a1f6
5
5
  SHA512:
6
- metadata.gz: 30c974bee52cb418b7c8aac41f5354c3cff1f7531dca5e4ffa1726d64389e73be3803c07b8ccb1738da1094486c3b07970edbd0cb585e46457ed2bb1bf9585b4
7
- data.tar.gz: 275c991c0e972b7c3cd85c5e2f146be261d741b2e86ea88a01e1dc80938d93180173c88fdfc725c292621fa0f4a287e31b8be87eaa5559fc73427d3806a2fc3b
6
+ metadata.gz: 4deae9e288986a0941466332957a18ba93447bef9da3ee0669d8ce13176da79826fbc336d5ef3c2f7ae86d2e09833d2d5d12338515c780007b7dc2b650557bfc
7
+ data.tar.gz: e17c3d9ed33b84daa37da5127fecad73f86a3f97796589bc819a7d97b13019be40644d4a6e5e5f59b0093adeda3aa35f4054e2e56ea2ab509b8f0dcb337a60e1
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,114 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.1.16] - 2026-10-23
34
+
35
+ - TAG: [v1.1.16][1.1.16t]
36
+ - COVERAGE: 100.00% -- 119/119 lines in 8 files
37
+ - BRANCH COVERAGE: 100.00% -- 4/4 branches in 8 files
38
+ - 92.59% documented
39
+
40
+ ### Added
41
+
42
+ - kettle-jem-template-20260913-001 - Templating now also surfaces a review
43
+ entry in `dependency_conflicts.resolve` when a direct development
44
+ dependency doesn't support one or more of this project's declared
45
+ `engines:` and has no template-managed modular home (e.g. `sqlite3` on
46
+ `jruby`). Review each entry and pick a resolution per the project's own
47
+ engine support needs.
48
+
49
+ ### Changed
50
+
51
+ - kettle-jem-template-20260801-001 - Generated README gem dashboard links now
52
+ use ClickGems instead of BestGems.
53
+
54
+ - [kc] kettle-jem/prepare: updated 17 project files:
55
+ - configuration (1)
56
+ - dependencies (16)
57
+
58
+ - [kc] kettle-jem/template: updated 50 project files:
59
+ - code and tests (3)
60
+ - configuration (1)
61
+ - dependencies (8)
62
+ - documentation (2)
63
+ - other (4)
64
+ - workflows (32)
65
+
66
+ ### Fixed
67
+
68
+ - kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
69
+ managed configuration block bindings structurally, preventing mixed block
70
+ parameter names from producing invalid configuration after a merge.
71
+ - kettle-jem-template-20260801-003 - Generated project metadata and
72
+ documentation now normalize configured underscore hostnames to valid
73
+ hyphenated hostnames.
74
+ - kettle-jem-template-20260801-004 - Generated organization README logos now
75
+ use GitHub's stable organization avatar endpoint instead of assuming a
76
+ matching Galtzo-hosted asset exists.
77
+ - kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
78
+ preserving comments and trailing commas during template updates.
79
+
80
+ ## [1.1.15] - 2026-08-01
81
+
82
+ - TAG: [v1.1.15][1.1.15t]
83
+ - COVERAGE: 100.00% -- 119/119 lines in 8 files
84
+ - BRANCH COVERAGE: 100.00% -- 4/4 branches in 8 files
85
+ - 92.59% documented
86
+
87
+ ### Changed
88
+
89
+ - kettle-jem-template-20260716-002 - Generated gemspec manifests now ship fewer
90
+ repository-only files by default to reduce downstream distro packaging churn.
91
+
92
+ - kettle-jem-template-20260720-002 - Development Gemfiles now use the released
93
+ `tree_sitter_language_pack` gem 1.13.3 or newer by default.
94
+ - kettle-jem-template-20260725-002 - Version specs now use `anonymous_loader` to
95
+ cover `version.rb` without redefining constants, or are removed when version
96
+ specs are not managed for the project.
97
+ - kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
98
+ setup-ruby-flash planning and can prepare appraisal-only jobs without
99
+ installing the main Gemfile bundle.
100
+
101
+ ### Added
102
+
103
+ - kettle-jem-template-20260720-005 - README Support & Community links now
104
+ include RubyForum.
105
+ - kettle-jem-template-20260726-001 - Projects now include YARD lint
106
+ configuration and documentation dependencies so documentation issues fail
107
+ before generated docs are refreshed.
108
+ - kettle-jem-template-20260727-001 - Spec harness documentation now lists the
109
+ RSpec helpers provided by `kettle-test`.
110
+
111
+ ### Fixed
112
+
113
+ - kettle-jem-template-20260720-003 - StructuredMerge Git diff driver config now
114
+ uses the installed `smorg-rb` driver command.
115
+ - kettle-jem-template-20260725-001 - Release pull request branches beginning
116
+ with `feature/release` now run JRuby and TruffleRuby workflows.
117
+ - kettle-jem-template-20260726-002 - Generated version files now document their
118
+ version namespace and constants, reducing warning-only YARD lint output.
119
+ - kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
120
+ QLTY, and Codecov as optional, so provider outages do not fail CI when local
121
+ coverage thresholds still pass.
122
+ - kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
123
+ same `gemfiles/vendor/bundle` tree as `.gitignore`, so vendored dependency
124
+ installs are not reported as project lint debt.
125
+ - kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
126
+ TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
127
+ before the test suite starts.
128
+ - kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
129
+ setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
130
+ lockfile parser failures on Git and path dependencies.
131
+ - kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
132
+ missing canonical version spec when a project only has shim namespace version
133
+ specs.
134
+ - kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the
135
+ legacy manual bundle install path, avoiding setup-time Bundler full-index
136
+ failures against `gem.coop`.
137
+ - kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
138
+ relative to the gemspec directory, so release package contents stay correct
139
+ even when the gemspec is loaded from another working directory.
140
+
33
141
  ## [1.1.14] - 2026-07-13
34
142
 
35
143
  - TAG: [v1.1.14][1.1.14t]
@@ -129,7 +237,7 @@ Please file a bug if you notice a violation of semantic versioning.
129
237
  bootstrap from `spec/spec_helper.rb`.
130
238
  - Templating dependencies now load only when `K_JEM_TEMPLATING=true`, with
131
239
  local StructuredMerge and Kettle workspace dependencies wired through
132
- `SMORG_RB_DEV`, `KETTLE_RB_DEV`, and `nomono`.
240
+ `STRUCTUREDMERGE_DEV`, `KETTLE_DEV_DEV`, and `nomono`.
133
241
  - Gem metadata and packaging inventory were refreshed by the template,
134
242
  including homepage, wiki, license-file, and packaged file handling.
135
243
 
@@ -356,7 +464,11 @@ Please file a bug if you notice a violation of semantic versioning.
356
464
 
357
465
  - Initial release, with basic version parsing API (@pboling)
358
466
 
359
- [Unreleased]: https://github.com/ruby-oauth/version_gem/compare/v1.1.14...HEAD
467
+ [Unreleased]: https://github.com/ruby-oauth/version_gem/compare/v1.1.16...HEAD
468
+ [1.1.16]: https://github.com/ruby-oauth/version_gem/compare/v1.1.15...v1.1.16
469
+ [1.1.16t]: https://github.com/ruby-oauth/version_gem/releases/tag/v1.1.16
470
+ [1.1.15]: https://github.com/ruby-oauth/version_gem/compare/v1.1.14...v1.1.15
471
+ [1.1.15t]: https://github.com/ruby-oauth/version_gem/releases/tag/v1.1.15
360
472
  [1.1.14]: https://github.com/ruby-oauth/version_gem/compare/v1.1.13...v1.1.14
361
473
  [1.1.14t]: https://github.com/ruby-oauth/version_gem/releases/tag/v1.1.14
362
474
  [1.1.13]: https://github.com/ruby-oauth/version_gem/compare/v1.1.12...v1.1.13
data/LICENSE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  This project is made available under the following license.
4
4
  Choose the option that best fits your use case:
5
5
 
6
- - [MIT](MIT.md)
6
+ - [MIT](https://github.com/ruby-oauth/version_gem/blob/main/MIT.md)
7
7
 
8
8
  ## Copyright Notice
9
9
 
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
- <a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/ruby-oauth/avatar-128px.svg" width="14%" align="right"/></a>
1
+ <a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by GitHub" src="https://github.com/ruby-oauth.png?size=192" width="14%" align="right"/></a>
2
2
 
3
- # 🍲 VersionGem
3
+ # 🔖 VersionGem
4
4
 
5
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![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 Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-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 Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
5
+ [![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Total downloads][👽dl-ranki]][👽dl-rank] [![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 Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-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 Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
6
6
 
7
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
8
8
 
9
9
  ---
10
10
 
@@ -60,12 +60,12 @@ For more discussion about this [see issue #2](https://gitlab.com/oauth-xx/versio
60
60
  | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
61
61
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
62
62
  | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
63
- | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
63
+ | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
64
64
  | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
65
65
  | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
66
66
  | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
67
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![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] |
68
- | 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] |
67
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![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] |
68
+ | 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] |
69
69
  | 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] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
70
70
  | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
71
71
  | 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] |
@@ -74,7 +74,7 @@ For more discussion about this [see issue #2](https://gitlab.com/oauth-xx/versio
74
74
 
75
75
  ### Compatibility
76
76
 
77
- Compatible with MRI Ruby 2.2.0+, and concordant releases of JRuby, and TruffleRuby.
77
+ Compatible with MRI Ruby 2.2.0+, JRuby, and TruffleRuby.
78
78
  CI workflows and Appraisals are generated for MRI Ruby 2.4+.
79
79
  This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
80
80
  may be higher than the gem's runtime compatibility floor when legacy Rubies are
@@ -87,36 +87,52 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
87
87
  <details markdown="1">
88
88
  <summary>How kettle-dev manages complexity in tests</summary>
89
89
 
90
- | Gem | Source | Role | Daily download rank |
90
+ | Gem | Source | Role | Total downloads |
91
91
  |-----|--------|------|---------------------|
92
- | [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Daily download rank for appraisal2](https://img.shields.io/gem/rd/appraisal2.svg?style=flat-square)](https://bestgems.org/gems/appraisal2) |
93
- | [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Daily download rank for appraisal2-rubocop](https://img.shields.io/gem/rd/appraisal2-rubocop.svg?style=flat-square)](https://bestgems.org/gems/appraisal2-rubocop) |
94
- | [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Daily download rank for kettle-dev](https://img.shields.io/gem/rd/kettle-dev.svg?style=flat-square)](https://bestgems.org/gems/kettle-dev) |
95
- | [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Daily download rank for kettle-jem](https://img.shields.io/gem/rd/kettle-jem.svg?style=flat-square)](https://bestgems.org/gems/kettle-jem) |
96
- | [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Daily download rank for kettle-soup-cover](https://img.shields.io/gem/rd/kettle-soup-cover.svg?style=flat-square)](https://bestgems.org/gems/kettle-soup-cover) |
97
- | [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Daily download rank for kettle-test](https://img.shields.io/gem/rd/kettle-test.svg?style=flat-square)](https://bestgems.org/gems/kettle-test) |
98
- | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
99
- | [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Daily download rank for turbo_tests2](https://img.shields.io/gem/rd/turbo_tests2.svg?style=flat-square)](https://bestgems.org/gems/turbo_tests2) |
92
+ | [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Total downloads for appraisal2](https://img.shields.io/gem/dt/appraisal2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2) |
93
+ | [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Total downloads for appraisal2-rubocop](https://img.shields.io/gem/dt/appraisal2-rubocop.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
94
+ | [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Total downloads for kettle-dev](https://img.shields.io/gem/dt/kettle-dev.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
95
+ | [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Total downloads for kettle-jem](https://img.shields.io/gem/dt/kettle-jem.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
96
+ | [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Total downloads for kettle-soup-cover](https://img.shields.io/gem/dt/kettle-soup-cover.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
97
+ | [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Total downloads for kettle-test](https://img.shields.io/gem/dt/kettle-test.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-test) |
98
+ | [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Total downloads for rubocop-lts](https://img.shields.io/gem/dt/rubocop-lts.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
99
+ | [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Total downloads for turbo_tests2](https://img.shields.io/gem/dt/turbo_tests2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
100
100
 
101
101
  </details>
102
102
 
103
+ ### Runtime and Platform Support
104
+
105
+ Support tiers describe what this project's CI actually exercises, not what may
106
+ work in an untested environment:
107
+
108
+ - **Parallel support**: CI runs the test suite with multiple workers available.
109
+ - **Unsupported**: the engine/platform combination is not covered by CI and is
110
+ not a project compatibility claim.
111
+
112
+ | Ruby engine/version | Linux | macOS | Windows | Notes |
113
+ |---------------------|-------|-------|---------|-------|
114
+ | MRI 3.1-3.4 | Parallel support | Unsupported | Unsupported | Versioned Ruby workflows run on Linux. |
115
+ | MRI current | Parallel support | Parallel support | Unsupported | Current Ruby workflow covers the declared OS platforms. |
116
+ | MRI head | Parallel support | Unsupported | Unsupported | CI is allowed to fail while Ruby is in development. |
117
+ | JRuby (all CI lanes) | Parallel support | Unsupported | Unsupported | Engine workflows run on Linux; macOS and Windows are not exercised by CI. |
118
+ | TruffleRuby (all CI lanes) | Parallel support | Unsupported | Unsupported | Never shipped a Windows build (zero Windows assets across 66 releases scanned 2026-10-10); setup-ruby hard-fails ([source](https://github.com/ruby/setup-ruby/blob/master/README.md)) |
119
+
103
120
  ### Federated DVCS
104
121
 
105
122
  <details markdown="1">
106
123
  <summary>Find this repo on federated forges (Coming soon!)</summary>
107
124
 
108
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
109
- |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
110
- | 🧪 [ruby-oauth/version_gem on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
111
- | 🧊 [ruby-oauth/version_gem on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
112
- | 🐙 [ruby-oauth/version_gem on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
113
- | 🎮️ [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] |
125
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
126
+ |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
127
+ | 🧪 [ruby-oauth/version_gem on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
128
+ | 🧊 [ruby-oauth/version_gem on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
129
+ | 🐙 [ruby-oauth/version_gem on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
114
130
 
115
131
  </details>
116
132
 
117
- [gh-discussions]: https://github.com/ruby-oauth/version_gem/discussions
133
+ ### Enterprise Support
118
134
 
119
- ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/version_gem)](https://tidelift.com/subscription/pkg/rubygems-version_gem?utm_source=rubygems-version_gem&utm_medium=referral&utm_campaign=readme)
135
+ [![Tidelift](https://tidelift.com/badges/package/rubygems/version_gem)](https://tidelift.com/subscription/pkg/rubygems-version_gem?utm_source=rubygems-version_gem&utm_medium=referral&utm_campaign=readme)
120
136
 
121
137
  Available as part of the Tidelift Subscription.
122
138
 
@@ -133,6 +149,7 @@ The maintainers of this and thousands of other packages are working with Tidelif
133
149
 
134
150
  Alternatively:
135
151
 
152
+ - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
136
153
  - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
137
154
  - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
138
155
  - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
@@ -480,8 +497,7 @@ See [SECURITY.md][🔐security].
480
497
  ## 🤝 Contributing
481
498
 
482
499
  If you need some ideas of where to help, you could work on adding more code coverage,
483
- or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
484
- or use the gem and think about how it could be better.
500
+ check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
485
501
 
486
502
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
487
503
 
@@ -517,19 +533,6 @@ Made with [contributors-img][🖐contrib-rocks].
517
533
 
518
534
  Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/version_gem/-/graphs/main][🚎contributors-gl]
519
535
 
520
- <details markdown="1">
521
- <summary>⭐️ Star History</summary>
522
-
523
- <a href="https://star-history.com/ruby-oauth/version_gem&Date">
524
- <picture>
525
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date&theme=dark" />
526
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date" />
527
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date" />
528
- </picture>
529
- </a>
530
-
531
- </details>
532
-
533
536
  ## 📌 Versioning
534
537
 
535
538
  This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
@@ -559,7 +562,7 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
559
562
  ## 📄 License
560
563
 
561
564
  The gem is available as open source under the terms of
562
- the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
565
+ the [MIT](https://github.com/ruby-oauth/version_gem/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
563
566
 
564
567
  ### © Copyright
565
568
 
@@ -569,7 +572,7 @@ See [LICENSE.md][📄license] for the official copyright notice.
569
572
  <summary>Copyright holders</summary>
570
573
 
571
574
  - Copyright (c) 2022-2023, 2025-2026 Peter H. Boling
572
- - Copyright (c) 2024-2025 Aboling0
575
+ - Copyright (c) 2024-2025 Annibelle Boling
573
576
 
574
577
  </details>
575
578
 
@@ -582,11 +585,12 @@ I'm hoping to be able to pay for my kids' health insurance this month,
582
585
  so if you value the work I am doing, I need your support.
583
586
  Please consider sponsoring me or the project.
584
587
 
585
- To join the community or get help 👇️ Join the Discord.
588
+ To join the community or get help, use the RubyForum or Discord.
586
589
 
590
+ [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
587
591
  [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
588
592
 
589
- To say "thanks!" ☝️ Join the Discord or 👇️ send money.
593
+ To say "thanks!" ☝️ Join the community or 👇️ send money.
590
594
 
591
595
  [![Sponsor ruby-oauth/version_gem 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]
592
596
 
@@ -627,11 +631,14 @@ Thanks for RTFM. ☺️
627
631
  [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
628
632
  [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
629
633
  [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
634
+ [✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
635
+ [✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
636
+ [✉️ruby-forum]: https://www.rubyforum.org/tag/ruby-oauth
630
637
 
631
638
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
632
639
  [⛳️gem-namespace]: https://github.com/ruby-oauth/version_gem
633
640
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-VersionGem-3C2D2D.svg?style=square&logo=ruby&logoColor=white
634
- [⛳️gem-name]: https://bestgems.org/gems/version_gem
641
+ [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/version_gem
635
642
  [⛳️name-img]: https://img.shields.io/badge/name-version__gem-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
636
643
  [⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/version_gem.svg
637
644
  [⛳️tag]: https://github.com/ruby-oauth/version_gem/releases
@@ -672,7 +679,7 @@ Thanks for RTFM. ☺️
672
679
  [📜src-gl]: https://gitlab.com/ruby-oauth/version_gem
673
680
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
674
681
  [📜src-cb]: https://codeberg.org/ruby-oauth/version_gem
675
- [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
682
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
676
683
  [📜src-gh]: https://github.com/ruby-oauth/version_gem
677
684
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
678
685
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
@@ -680,9 +687,9 @@ Thanks for RTFM. ☺️
680
687
  [📜gh-wiki]: https://github.com/ruby-oauth/version_gem/wiki
681
688
  [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
682
689
  [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
683
- [👽dl-rank]: https://bestgems.org/gems/version_gem
684
- [👽dl-ranki]: https://img.shields.io/gem/rd/version_gem.svg
685
- [👽version]: https://bestgems.org/gems/version_gem
690
+ [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/version_gem
691
+ [👽dl-ranki]: https://img.shields.io/gem/dt/version_gem.svg
692
+ [👽version]: https://clickgems.clickhouse.com/dashboard/version_gem
686
693
  [👽versioni]: https://img.shields.io/gem/v/version_gem.svg
687
694
  [🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/version_gem
688
695
  [🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/version_gem/maintainability.svg
@@ -706,7 +713,6 @@ Thanks for RTFM. ☺️
706
713
  [🚎jruby-9.4-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/jruby-9.4.yml
707
714
  [🚎jruby-10.0-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/jruby-10.0.yml
708
715
  [🚎truby-22.3-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffleruby-22.3.yml
709
- [🚎truby-23.0-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffleruby-23.0.yml
710
716
  [🚎truby-23.1-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffleruby-23.1.yml
711
717
  [🚎truby-24.2-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffleruby-24.2.yml
712
718
  [🚎truby-25.0-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffleruby-25.0.yml
@@ -745,13 +751,11 @@ Thanks for RTFM. ☺️
745
751
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
746
752
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
747
753
  [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
748
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
749
754
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
750
755
  [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
751
756
  [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
752
757
  [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
753
758
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
754
- [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
755
759
  [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
756
760
  [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
757
761
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
@@ -789,7 +793,7 @@ Thanks for RTFM. ☺️
789
793
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
790
794
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
791
795
  [📄license]: LICENSE.md
792
- [📄license-ref]: MIT.md
796
+ [📄license-ref]: https://github.com/ruby-oauth/version_gem/blob/main/MIT.md
793
797
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
794
798
  [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
795
799
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
@@ -810,7 +814,7 @@ Thanks for RTFM. ☺️
810
814
  | Field | Value |
811
815
  |---|---|
812
816
  | Package | version_gem |
813
- | Description | 🍲 Versions are good. Versions are cool. Versions will win. |
817
+ | Description | 🔖 Versions are good. Versions are cool. Versions will win. |
814
818
  | Homepage | https://github.com/ruby-oauth/version_gem |
815
819
  | Source | https://github.com/ruby-oauth/version_gem |
816
820
  | License | `MIT` |
@@ -1,8 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VersionGem
4
+ # Version namespace for this gem.
4
5
  module Version
5
- VERSION = "1.1.14"
6
+ # Current gem version.
7
+ VERSION = "1.1.16"
6
8
  end
9
+ # Current gem version exposed at the traditional constant location.
7
10
  VERSION = Version::VERSION # Traditional Constant Location
8
11
  end
data/lib/version_gem.rb CHANGED
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "version_gem/version"
4
-
5
3
  require_relative "version_gem/basic"
6
4
  require_relative "version_gem/epoch"
5
+ require_relative "version_gem/version"
7
6
 
8
7
  # Namespace of this library
9
8
  module VersionGem
data/sig/version_gem.rbs CHANGED
@@ -1,2 +1,74 @@
1
1
  module VersionGem
2
+ module Api
3
+ # Internal memoized version string segments
4
+ @_to_a: Array[String]
5
+
6
+ # Memoized components
7
+ @major: Integer
8
+ @minor: Integer
9
+ @patch: Integer
10
+ @pre: String?
11
+ @to_a: Array[Integer | String | nil]
12
+ @to_h: Hash[Symbol, (Integer | String | nil)]
13
+
14
+ # Public API
15
+ def to_s: () -> String
16
+ def major: () -> Integer
17
+ def minor: () -> Integer
18
+ def patch: () -> Integer
19
+ def pre: () -> String?
20
+ def to_a: () -> Array[Integer | String | nil]
21
+ def to_h: () -> Hash[Symbol, (Integer | String | nil)]
22
+
23
+ private
24
+
25
+ def _to_a: () -> Array[String]
26
+ end
27
+
28
+ module Basic
29
+ def self.extended: () -> void
30
+ end
31
+
32
+ module Epoch
33
+ EPOCH_SIZE: Integer
34
+
35
+ # Hook used when this module is extended
36
+ def self.extended: (untyped) -> void
37
+
38
+ module OverloadApiForEpoch
39
+ # The epoch component (derived)
40
+ def epoch: () -> Integer
41
+
42
+ # Override of Api#major returning the derived major component
43
+ def major: () -> Integer
44
+
45
+ # Hash representation including epoch
46
+ def to_h: () -> Hash[Symbol, (Integer | String | nil)]
47
+
48
+ # Array of components [epoch, major, minor, patch, pre]
49
+ def to_a: () -> Array[Integer | String | nil]
50
+
51
+ private
52
+
53
+ def _major: () -> Integer
54
+ end
55
+ end
56
+
57
+ class Error < ::RuntimeError
58
+ end
59
+
60
+ module Ruby
61
+ RUBY_VER: ::Gem::Version
62
+
63
+ # Check if the current Ruby version is >= given version for the engine
64
+ def self.gte_minimum_version?: (String, ?String) -> bool
65
+
66
+ # Check if the current Ruby MAJOR.MINOR equals the given values for the engine
67
+ def self.actual_minor_version?: ((Integer | String), (Integer | String), ?String) -> bool
68
+ end
69
+
70
+ module Version
71
+ VERSION: String
72
+ end
73
+ VERSION: String
2
74
  end
data.tar.gz.sig CHANGED
Binary file