version_gem 1.1.3 → 1.1.5

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: c7542245fe84d4314202cd4ea1347fdaefce4cdc256fc7216705c90561e0a07f
4
- data.tar.gz: 8864b667e84866e2d4365b7e2105dbb4e6be10bf64b08547afc357bb1e9a7f96
3
+ metadata.gz: 46fdc77dde9960d5a1cc1e8e4d5c167886ef9852e8dd653f99f13901639f9ed3
4
+ data.tar.gz: 53f6e874d39543bde0be8158ae9631c41baad47b86600c30cc5ec4658ecdfe07
5
5
  SHA512:
6
- metadata.gz: 12ece5174289be925d3401789beee24d3ecee4438595fa453d51b57af5d44ffa9edf80cb313fd5c96f1c3f969d0af00a360ce723394d80a33e02c5a6e1064538
7
- data.tar.gz: ddf738a490b738f42a89d060fa76c0c186a462f0edda7cc970b20e1e62cb918e7e8db06c18b805f31f9933c8c734b9ddebc863481c3ced59e8e4e99092e9d678
6
+ metadata.gz: '0118cebf5ed37f1f964558421edc1aab00fdae41664575be68071775003f2d6cdabaabccc550155aea97d39a7a10d7ec462879db52ddfa521151ab1633fee141'
7
+ data.tar.gz: 777c2180b9e60dce87a8fb21dc17aa8005cc7be83393891d9d1522d07819e38f34b6e8a5584f66588acda6250488728d80d166fe90c61ee43bd08c50133b953d
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -10,6 +10,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  ### Fixed
11
11
  ### Removed
12
12
 
13
+ ## [1.1.5] 2025-02-21 ([tag][1.1.5t])
14
+ - Line Coverage: 100.0% (77 / 77)
15
+ - Branch Coverage: 100.0% (2 / 2)
16
+ - 77.78% documented
17
+ ### Added
18
+ - Document approach to get code coverage on your gem's version.rb file
19
+ - More documentation, and yard task for documentation
20
+ - Documentation of Ruby version and SemVer support
21
+ ### Fixed
22
+ - [#3](https://gitlab.com/oauth-xx/version_gem/-/issues/3) - Allow packaging without signing
23
+ - to support secure linux distros which have alternate means of signing packages within their package managers
24
+ - Code coverage tracking
25
+ - Documentation of usage in gemspec via `Kernel.load`
26
+ - Improved gemspec config
27
+
28
+ ## [1.1.4] 2024-03-21 ([tag][1.1.4t])
29
+ ### Added
30
+ - Ruby 3.3 to CI (@pboling)
31
+ ### Fixed
32
+ - Remove the executable bit from non-executable files (@Fryguy)
33
+
13
34
  ## [1.1.3] 2023-06-05 ([tag][1.1.3t])
14
35
  ### Added
15
36
  - More test coverage (now 100% 🎉) (@pboling)
@@ -26,6 +47,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
26
47
  - (dev) Rake task for rubocop_gradual (@pboling)
27
48
  ### Fixed
28
49
  - (dev) `yard` documentation task (@pboling)
50
+ ### Removed
51
+ - Formally drop Ruby 2.2 support
52
+ - Ruby 2.2 was already de facto minimum version supported, which is why this wasn't a 2.0 release.
29
53
 
30
54
  ## [1.1.2] - 2023-03-17 ([tag][1.1.2t])
31
55
  ### Added
@@ -66,7 +90,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66
90
  ### Added
67
91
  - Initial release, with basic version parsing API (@pboling)
68
92
 
69
- [Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.3...HEAD
93
+ [Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.5...main
94
+ [1.1.5]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.4...v1.1.5
95
+ [1.1.5t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.5
96
+ [1.1.4]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.3...v1.1.4
97
+ [1.1.4t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.4
70
98
  [1.1.3]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.2...v1.1.3
71
99
  [1.1.3t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.3
72
100
  [1.1.2]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...v1.1.2
data/CONTRIBUTING.md CHANGED
@@ -1,40 +1,131 @@
1
1
  ## Contributing
2
2
 
3
- Bug reports and pull requests are welcome on GitLab at [https://gitlab.com/oauth-xx/version_gem][🚎src-main]
3
+ Bug reports and pull requests are welcome on GitHub at [https://gitlab.com/oauth-xx/version_gem][🚎src-main]
4
4
  . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
5
- the [code of conduct][conduct].
5
+ the [code of conduct][🤝conduct].
6
6
 
7
7
  To submit a patch, please fork the project and create a patch with
8
8
  tests. Once you're happy with it send a pull request and post a message to the
9
9
  [google group][⛳mail-list] or on the [gitter chat][🏘chat].
10
10
 
11
- ## Release
11
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
12
12
 
13
- To release a new version:
13
+ ## You can help!
14
14
 
15
- 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check.
16
- 2. update the version number in `version.rb`
17
- 3. run `bundle exec rake build:checksum`
18
- 4. move the built gem to project root
19
- 5. run `bin/checksum` to create the missing SHA256 checksum
20
- 6. move the built gem back to `pkg/`
21
- 7. commit the changes
22
- 8. run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org][rubygems].
15
+ Simply follow these instructions:
23
16
 
24
- NOTE: You will need to have a public key in `certs/`, and list your cert in the
25
- `gemspec`, in order to sign the new release.
26
- See: [RubyGems Security Guide][rubygems-security-guide]
17
+ 1. Fork the repository
18
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
19
+ 3. Make some fixes.
20
+ 4. Commit your changes (`git commit -am 'Added some feature'`)
21
+ 5. Push to the branch (`git push origin my-new-feature`)
22
+ 6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
23
+ 7. Create new Pull Request.
24
+
25
+ ## Appraisals
26
+
27
+ From time to time the appraisal gemfiles in `gemfiles/` will need to be updated.
28
+ They are created and updated with the commands:
29
+
30
+ NOTE: We run on a [fork][🚎appraisal-fork] of Appraisal.
31
+
32
+ Please upvote the PR for `eval_gemfile` [support][🚎appraisal-eval-gemfile-pr]
33
+
34
+ ```shell
35
+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle
36
+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
37
+ ```
38
+
39
+ ## The Reek List
40
+
41
+ Take a look at the `reek` list which is the file called `REEK` and find something to improve.
42
+
43
+ To refresh the `reek` list:
44
+
45
+ ```bash
46
+ bundle exec reek > REEK
47
+ ```
48
+
49
+ ## Run Tests
50
+
51
+ To run all tests
52
+
53
+ ```bash
54
+ bundle exec rake test
55
+ ```
56
+
57
+ ## Lint It
58
+
59
+ Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
60
+
61
+ ```bash
62
+ bundle exec rake
63
+ ```
64
+
65
+ Or just run the linter.
66
+
67
+ ```bash
68
+ bundle exec rubocop_gradual:autocorrect
69
+ ```
27
70
 
28
71
  ## Contributors
29
72
 
30
- See: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors]
73
+ Your picture could be here!
74
+
75
+ [![Contributors][🖐contributors-img]][🖐contributors]
76
+
77
+ Made with [contributors-img][🖐contrib-rocks].
78
+
79
+ Also see GitLab Contributors: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors-gl]
80
+
81
+ ## For Maintainers
82
+
83
+ ### One-time, Per-maintainer, Setup
84
+
85
+ **IMPORTANT**: Your public key for signing gems will need to be picked up by the line in the
86
+ `gemspec` defining the `spec.cert_chain` (check the relevant ENV variables there),
87
+ in order to sign the new release.
88
+ See: [RubyGems Security Guide][🔒️rubygems-security-guide]
89
+
90
+ ### To release a new version:
31
91
 
32
- [comment]: <> (Following links are used by README, CONTRIBUTING)
92
+ 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check
93
+ 2. Update the version number in `version.rb`
94
+ 3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
95
+ 4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
96
+ 5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
97
+ - NOTE: Remember to [check the build][🧪build]!
98
+ 6. Run `export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME`
99
+ 7. Run `git checkout $GIT_TRUNK_BRANCH_NAME`
100
+ 8. Run `git pull origin $GIT_TRUNK_BRANCH_NAME` to ensure you will release the latest trunk code
101
+ 9. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
102
+ - Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH`
103
+ - If the echo above has no output, then it didn't work.
104
+ - Note that you'll need the `zsh/datetime` module, if running `zsh`.
105
+ - In `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH`
106
+ 10. Run `bundle exec rake build`
107
+ 11. Run `bin/checksums` (more context [1][🔒️rubygems-checksums-pr] and [2][🔒️rubygems-guides-pr])
108
+ to create SHA-256 and SHA-512 checksums
109
+ - Checksums will be committed automatically by the script, but not pushed
110
+ 12. Run `bundle exec rake release` which will create a git tag for the version,
111
+ push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
33
112
 
34
- [conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
35
- [🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
36
113
  [⛳mail-list]: http://groups.google.com/group/oauth-ruby
37
114
  [🚎src-main]: https://gitlab.com/oauth-xx/version_gem
38
- [🏘chat]: https://gitter.im/oauth-xx/version_gem
39
- [rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
40
- [rubygems]: https://rubygems.org
115
+ [🧪build]: https://github.com/oauth-xx/version_gem/actions
116
+ [🏘chat]: https://matrix.to/#/#pboling_version_gem:gitter.im
117
+ [🤝conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
118
+ [🖐contrib-rocks]: https://contrib.rocks
119
+ [🖐contributors]: https://github.com/oauth-xx/version_gem/graphs/contributors
120
+ [🚎contributors-gl]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
121
+ [🖐contributors-img]: https://contrib.rocks/image?repo=oauth-xx/version_gem
122
+ [💎rubygems]: https://rubygems.org
123
+ [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
124
+ [🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
125
+ [🔒️rubygems-guides-pr]: https://github.com/rubygems/guides/pull/325
126
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
127
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
128
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
129
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
130
+ [🚎appraisal-eval-gemfile-pr]: https://github.com/thoughtbot/appraisal/pull/248
131
+ [🚎appraisal-fork]: https://github.com/pboling/appraisal/tree/galtzo
data/README.md CHANGED
@@ -1,11 +1,43 @@
1
1
  # VersionGem
2
2
 
3
+ [![Version][👽versioni]][👽version]
4
+ [![License: MIT][📄license-img]][📄license-ref]
5
+ [![Downloads Rank][👽dl-ranki]][👽dl-rank]
6
+ [![Open Source Helpers][👽oss-helpi]][👽oss-help]
7
+ [![Depfu][🔑depfui♻️]][🔑depfu]
8
+ [![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
9
+ [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
10
+ [![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
11
+ [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
12
+ [![CI Supported Build][🚎6-s-wfi]][🚎6-s-wf]
13
+ [![CI Legacy Build][🚎4-lg-wfi]][🚎4-lg-wf]
14
+ [![CI Unsupported Build][🚎7-us-wfi]][🚎7-us-wf]
15
+ [![CI Heads Build][🚎3-hd-wfi]][🚎3-hd-wf]
16
+ [![CI Ancient Build][🚎1-an-wfi]][🚎1-an-wf]
17
+ [![CI Hoary Build][🚎8-ho-wfi]][🚎8-ho-wf]
18
+ [![CI Coverage Build][🚎2-cov-wfi]][🚎2-cov-wf]
19
+ [![CI Style Build][🚎5-st-wfi]][🚎5-st-wf]
20
+
21
+ ---
22
+
23
+ [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
24
+ [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
25
+ [![Buy me a coffee][🖇buyme-small-img]][🖇buyme]
26
+ [![Polar Shield][🖇polar-img]][🖇polar]
27
+ [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
28
+ [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
29
+
3
30
  ## Alternatives
4
31
 
5
32
  This gem has a very niche purpose, which is:
6
33
 
7
- 1. providing introspection of a `Version` module based on a `Version::VERSION` constant string,
8
- 2. while not interfering with `gemspec` parsing where the `VERSION` string is traditionally used.
34
+ 1. providing introspection of a `Version` module based on a `VERSION` constant string within it,
35
+ 2. while not interfering with `gemspec` parsing where the `VERSION` string is traditionally used,
36
+ 3. allowing 100% test coverage of Ruby code, including the `Version` module.
37
+
38
+ As proof in the pudding, this gem achieves 100% test coverage for lines and branches,
39
+ all 77 and 2 of them, respectively; coverage enabled in part by patterns from this library.
40
+ You can make it happen for your library too!
9
41
 
10
42
  If this isn't **precisely** your use case you may be better off looking at
11
43
  _[versionaire](https://www.alchemists.io/projects/versionaire)_, a wonderful, performant, well-maintained,
@@ -31,134 +63,15 @@ This library was extracted from the gem _[oauth2](https://gitlab.com/oauth-xx/oa
31
63
 
32
64
  This gem has no runtime dependencies.
33
65
 
34
- <!--
35
- Numbering rows and badges in each row as a visual "database" lookup,
36
- as the table is extremely dense, and it can be very difficult to find anything
37
- Putting one on each row here, to document the emoji that should be used, and for ease of copy/paste.
38
-
39
- row #s:
40
- 1️⃣
41
- 2️⃣
42
- 3️⃣
43
- 4️⃣
44
- 5️⃣
45
- 6️⃣
46
- 7️⃣
47
-
48
- badge #s:
49
- ⛳️
50
- 🖇
51
- 🏘
52
- 🚎
53
- 🖐
54
- 🧮
55
- 📗
56
-
57
- appended indicators:
58
- ♻️ - URL needs to be updated from SAAS integration. Find / Replace is insufficient.
59
- -->
60
-
61
- | | Project | bundle add version_gem |
62
- |:----|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
63
- | 1️⃣ | name, license, docs, standards | [![RubyGems.org][⛳️name-img]][⛳️gem] [![License: MIT][🖇src-license-img]][🖇src-license] [![RubyDoc.info][🚎yard-img]][🚎yard] [![SemVer 2.0.0][🧮semver-img]][🧮semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] |
64
- | 2️⃣ | version & activity | [![Gem Version][⛳️version-img]][⛳️gem] [![Total Downloads][🖇DL-total-img]][⛳️gem] [![Download Rank][🏘DL-rank-img]][⛳️gem] [![Source Code][🚎src-main-img]][🚎src-main] [![Open PRs][🖐prs-o-img]][🖐prs-o] [![Closed PRs][🧮prs-c-img]][🧮prs-c] |
65
- | 3️⃣ | maintanence & linting | [![Maintainability][⛳cclim-maint-img♻️]][⛳cclim-maint] [![Helpers][🖇triage-help-img]][🖇triage-help] [![Depfu][🏘depfu-img♻️]][🏘depfu♻️] [![Contributors][🚎contributors-img]][🚎contributors] [![Style][🖐style-wf-img]][🖐style-wf] [![Kloc Roll][🧮kloc-img]][🧮kloc] |
66
- | 4️⃣ | testing | [![Supported][🏘sup-wf-img]][🏘sup-wf] [![Heads][🚎heads-wf-img]][🚎heads-wf] [![Unofficial Support][🖐uns-wf-img]][🖐uns-wf] <!--[![MacOS][🧮mac-wf-img]][🧮mac-wf] [![Windows][📗win-wf-img]][📗win-wf]--> |
67
- | 5️⃣ | coverage & security | [![CodeClimate][⛳cclim-cov-img♻️]][⛳cclim-cov] [![CodeCov][🖇codecov-img♻️]][🖇codecov] [![Coveralls][🏘coveralls-img]][🏘coveralls] [![Security Policy][🚎sec-pol-img]][🚎sec-pol] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Code Coverage][🧮cov-wf-img]][🧮cov-wf] |
68
- | 6️⃣ | resources | [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Wiki][🖐wiki-img]][🖐wiki] |
69
- | 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] |
70
-
71
- <!--
72
- The link tokens in the following sections should be kept ordered by the row and badge numbering scheme
73
- -->
74
-
75
- <!-- 1️⃣ name, license, docs -->
76
- [⛳️gem]: https://rubygems.org/gems/version_gem
77
- [⛳️name-img]: https://img.shields.io/badge/name-version_gem-brightgreen.svg?style=flat
78
- [🖇src-license]: https://opensource.org/licenses/MIT
79
- [🖇src-license-img]: https://img.shields.io/badge/License-MIT-green.svg
80
- [🚎yard]: https://www.rubydoc.info/gems/version_gem
81
- [🚎yard-img]: https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat
82
- [🧮semver]: http://semver.org/
83
- [🧮semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
84
- [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
85
- [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
86
-
87
- <!-- 2️⃣ version & activity -->
88
- [⛳️version-img]: http://img.shields.io/gem/v/version_gem.svg
89
- [🖇DL-total-img]: https://img.shields.io/gem/dt/version_gem.svg
90
- [🏘DL-rank-img]: https://img.shields.io/gem/rt/version_gem.svg
91
- [🚎src-main]: https://gitlab.com/oauth-xx/version_gem
92
- [🚎src-main-img]: https://img.shields.io/badge/source-gitlab-brightgreen.svg?style=flat
93
- [🖐prs-o]: https://gitlab.com/oauth-xx/version_gem/-/merge_requests
94
- [🖐prs-o-img]: https://img.shields.io/github/issues-pr/pboling/version_gem
95
- [🧮prs-c]: https://github.com/pboling/version_gem/pulls?q=is%3Apr+is%3Aclosed
96
- [🧮prs-c-img]: https://img.shields.io/github/issues-pr-closed/pboling/version_gem
97
-
98
- <!-- 3️⃣ maintanence & linting -->
99
- [⛳cclim-maint]: https://codeclimate.com/github/pboling/version_gem/maintainability
100
- [⛳cclim-maint-img♻️]: https://api.codeclimate.com/v1/badges/b504d61c4ed1d46aec02/maintainability
101
- [🖇triage-help]: https://www.codetriage.com/pboling/version_gem
102
- [🖇triage-help-img]: https://www.codetriage.com/pboling/version_gem/badges/users.svg
103
- [🏘depfu♻️]: https://depfu.com/github/pboling/version_gem?project_id=35803
104
- [🏘depfu-img♻️]: https://badges.depfu.com/badges/5d8943de6cfdf1ee048ad6d907f3e35b/count.svg
105
- [🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
106
- [🚎contributors-img]: https://img.shields.io/github/contributors-anon/pboling/version_gem
107
- [🖐style-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml
108
- [🖐style-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml/badge.svg
109
- [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
110
- [🧮kloc-img]: https://img.shields.io/tokei/lines/github.com/pboling/version_gem
111
-
112
- <!-- 4️⃣ testing -->
113
- [🏘sup-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml
114
- [🏘sup-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml/badge.svg
115
- [🚎heads-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml
116
- [🚎heads-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml/badge.svg
117
- [🖐uns-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml
118
- [🖐uns-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml/badge.svg
119
- [🧮mac-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/macos.yml
120
- [🧮mac-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/macos.yml/badge.svg
121
- [📗win-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/windows.yml
122
- [📗win-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/windows.yml/badge.svg
123
-
124
- <!-- 5️⃣ coverage & security -->
125
- [⛳cclim-cov]: https://codeclimate.com/github/pboling/version_gem/test_coverage
126
- [⛳cclim-cov-img♻️]: https://api.codeclimate.com/v1/badges/b504d61c4ed1d46aec02/test_coverage
127
- [🖇codecov-img♻️]: https://codecov.io/gh/pboling/version_gem/branch/main/graph/badge.svg?token=79c3X4vtfO
128
- [🖇codecov]: https://codecov.io/gh/pboling/version_gem
129
- [🏘coveralls]: https://coveralls.io/github/pboling/version_gem?branch=main
130
- [🏘coveralls-img]: https://coveralls.io/repos/github/pboling/version_gem/badge.svg?branch=main
131
- [🚎sec-pol]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
132
- [🚎sec-pol-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
133
- [🖐codeQL]: https://github.com/pboling/version_gem/security/code-scanning
134
- [🖐codeQL-img]: https://github.com/oauth-xx/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
135
- [🧮cov-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml
136
- [🧮cov-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml/badge.svg
137
-
138
- <!-- 6️⃣ resources -->
139
- [🖇codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
140
- [🖇codementor-img]: https://cdn.codementor.io/badges/get_help_github.svg
141
- [🏘chat]: https://gitter.im/oauth-xx/version_gem
142
- [🏘chat-img]: https://img.shields.io/gitter/room/oauth-xx/version_gem.svg
143
- [🚎blog]: http://www.railsbling.com/tags/version_gem/
144
- [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
145
- [🖐wiki]: https://gitlab.com/oauth-xx/version_gem/-/wikis/home
146
- [🖐wiki-img]: https://img.shields.io/badge/wiki-examples-brightgreen.svg?style=flat
147
-
148
- <!-- 7️⃣ spread 💖 -->
149
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
150
- [⛳liberapay]: https://liberapay.com/pboling/donate
151
- [🖇sponsor-img]: https://img.shields.io/badge/sponsor-pboling.svg?style=social&logo=github
152
- [🖇sponsor]: https://github.com/sponsors/pboling
153
- [🏘tweet-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
154
- [🏘tweet]: http://twitter.com/galtzo
155
-
156
- <!-- Maintainer Contact Links -->
157
- [railsbling]: http://www.railsbling.com
158
- [peterboling]: http://www.peterboling.com
159
- [aboutme]: https://about.me/peter.boling
160
- [angelme]: https://angel.co/peter-boling
161
- [coderme]:http://coderwall.com/pboling
66
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
67
+ |--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
68
+ | ruby 3 compat | [![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-3.4i]][🚎6-s-wf] |
69
+ | ruby 2 compat | [![Ruby 2.2 Compat][💎ruby-2.2i]][🚎8-ho-wf] [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
70
+ | documentation | [![Documentation on Github.com][📜docs-gh-img]][homepage] `or` [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] `or` [![HEAD on RubyDoc.info][📜docs-head-rd-img]][🚎yard-head] `or` [![Wiki][📜wiki-img]][📜wiki] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
71
+ | compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] |
72
+ | expert 1:1 support | [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] `or` [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
73
+ | enterprise support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift] (for _this and all your other_ FLOSS dependencies; btw, TideLift is now part of [Sonar](https://blog.tidelift.com/tidelift-joins-sonar)!) |
74
+ | `...` 💖 | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] [🌏][💖💁🏼‍♂️aboutme] |
162
75
 
163
76
  ## Installation
164
77
 
@@ -217,14 +130,33 @@ MyLib::Version.to_a # => [0, 1, 0]
217
130
  MyLib::Version.to_h # => { major: 0, minor: 1, patch: 0, pre: "" }
218
131
  ```
219
132
 
220
- ### Side benefit
133
+ ### Side benefit #1
134
+
135
+ You can reference the version from your gemspec, keeping the version string DRY,
136
+ *and* still get accurate code coverage!
137
+
138
+ ```ruby
139
+ # Get the GEMFILE_VERSION without *require* "my_gem/version", for code coverage accuracy
140
+ # See: https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
141
+ # Kernel.load because load is overloaded in RubyGems during gemspec evaluation
142
+ Kernel.load("lib/my_gem/version.rb")
143
+ gem_version = MyGem::Version::VERSION
144
+ MyGem::Version.send(:remove_const, :VERSION)
145
+
146
+ Gem::Specification.new do |spec|
147
+ # ...
148
+ spec.version = gem_version
149
+ end
150
+ ```
151
+
152
+ ### Side benefit #2
221
153
 
222
154
  Your `version.rb` file now abides the Ruby convention of directory / path matching the namespace / class!
223
155
 
224
156
  ### Zietwerk
225
157
 
226
158
  The pattern of `version.rb` breaking the ruby convention of directory / path matching the namespace / class
227
- is so entrenched that the `zeitwerk` library has a special carve-out for it.
159
+ is so entrenched that the `zeitwerk` library has a special carve-out for it. 🥺
228
160
  RubyGems using this "bad is actually good" pattern are encouraged to use `Zeitwerk.for_gem`.
229
161
 
230
162
  **Do not do that ^** if you use this gem.
@@ -263,8 +195,9 @@ end
263
195
 
264
196
  #### Complex Zeitwerk Example
265
197
 
198
+ Maybe you would like to contribute one?
266
199
 
267
- #### Query Ruby Version (as of version 1.2.0)
200
+ #### Query Ruby Version (as of version 1.1.2)
268
201
 
269
202
  In Continuous Integration environments for libraries that run against many versions of Ruby,
270
203
  I often need to configure things discretely per Ruby version, and doing so forced me to repeat
@@ -327,43 +260,75 @@ RSpec.describe(MyLib::Version) do
327
260
  end
328
261
  ```
329
262
 
330
- ## Development
263
+ ## 🔐 Security
331
264
 
332
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
265
+ See [SECURITY.md][🔐security].
333
266
 
334
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
267
+ ## 🤝 Contributing
335
268
 
336
- ## Contributing
269
+ If you need some ideas of where to help, you could work on adding more code coverage,
270
+ or if it is already 💯 (see [below](#code-coverage)) then check [issues][🤝issues], or [PRs][🤝pulls],
271
+ or use the gem and think about how it could be better.
337
272
 
338
- See [CONTRIBUTING.md][contributing]
273
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
339
274
 
340
- ## Contributors
275
+ Also, see [CONTRIBUTING.md][🤝contributing].
341
276
 
342
- [![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)]("https://gitlab.com/oauth-xx/version_gem/-/graphs/main")
277
+ ### Code Coverage
343
278
 
344
- Made with [contributors-img](https://contrib.rocks).
279
+ [![Coverage Graph][🔑codecov-g]][🔑codecov]
345
280
 
346
- ## License
281
+ ## 🌈 Contributors
347
282
 
348
- The gem is available as open source under the terms of
349
- the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
350
- See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
283
+ [![Contributors][🖐contributors-img]][🖐contributors]
284
+
285
+ Made with [contributors-img][🖐contrib-rocks].
286
+
287
+ Also see GitLab Contributors: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors-gl]
288
+
289
+ ## ⭐️ Star History
351
290
 
352
- * Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
291
+ <a href="https://star-history.com/#oauth-xx/version_gem&Date">
292
+ <picture>
293
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date&theme=dark" />
294
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date" />
295
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date" />
296
+ </picture>
297
+ </a>
353
298
 
354
- ## Code of Conduct
299
+ ## 🪇 Code of Conduct
355
300
 
356
- Everyone interacting in the VersionGem project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md).
301
+ Everyone interacting in this project's codebases, issue trackers,
302
+ chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
357
303
 
358
- ## Versioning
304
+ ## 📌 Versioning
359
305
 
360
- This library aims to adhere to [Semantic Versioning 2.0.0][🧮semver]. Violations of this scheme should be reported as
361
- bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
362
- immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
363
- major versions.
306
+ This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
307
+ Violations of this scheme should be reported as bugs.
308
+ Specifically, if a minor or patch version is released that breaks backward compatibility,
309
+ a new version should be immediately released that restores compatibility.
310
+ Breaking changes to the public API will only be introduced with new major versions.
364
311
 
365
- As a result of this policy, you can (and should) specify a dependency on this gem using
366
- the [Pessimistic Version Constraint][pvc] with two digits of precision.
312
+ ### 📌 Is "Platform Support" part of the public API?
313
+
314
+ Yes. But I'm obligated to include notes...
315
+
316
+ SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
317
+ is a *breaking change* to an API.
318
+ It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
319
+
320
+ > dropping support for a platform is both obviously and objectively a breaking change
321
+
322
+ - Jordan Harband (@ljharb) [in SemVer issue 716][📌semver-breaking]
323
+
324
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
325
+ read this article from the creator of SemVer:
326
+
327
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
328
+
329
+ As a result of this policy, and the interpretive lens used by the maintainer,
330
+ you can (and should) specify a dependency on these libraries using
331
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
367
332
 
368
333
  For example:
369
334
 
@@ -371,36 +336,151 @@ For example:
371
336
  spec.add_dependency("version_gem", "~> 1.1")
372
337
  ```
373
338
 
374
- ## Security
375
-
376
- See [SECURITY.md](https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md).
377
-
378
- [aboutme]: https://about.me/peter.boling
379
- [actions]: https://github.com/oauth-xx/version_gem/actions
380
- [angelme]: https://angel.co/peter-boling
381
- [blogpage]: http://www.railsbling.com/tags/version_gem/
382
- [codecov_coverage]: https://codecov.io/gh/oauth-xx/version_gem
383
- [code_triage]: https://www.codetriage.com/oauth-xx/version_gem
384
- [chat]: https://gitter.im/oauth-xx/version_gem?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
385
- [climate_coverage]: https://codeclimate.com/github/oauth-xx/version_gem/test_coverage
386
- [climate_maintainability]: https://codeclimate.com/github/oauth-xx/version_gem/maintainability
387
- [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
388
- [conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
389
- [contributing]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CONTRIBUTING.md
390
- [devto]: https://dev.to/galtzo
391
- [documentation]: https://rubydoc.info/github/oauth-xx/version_gem/main
392
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
393
- [gh_sponsors]: https://github.com/sponsors/pboling
394
- [issues]: https://github.com/oauth-xx/version_gem/issues
395
- [liberapay_donate]: https://liberapay.com/pboling/donate
396
- [license]: LICENSE.txt
397
- [license-ref]: https://opensource.org/licenses/MIT
398
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
399
- [peterboling]: http://www.peterboling.com
400
- [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
339
+ See [CHANGELOG.md][📌changelog] for list of releases.
340
+
341
+ ## 📄 License
342
+
343
+ The gem is available as open source under the terms of
344
+ the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
345
+ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
346
+
347
+ ### © Copyright
348
+
349
+ * Copyright (c) 2022 - 2025 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
350
+
351
+ ## 🤑 One more thing
352
+
353
+ You made it to the bottom of the page,
354
+ so perhaps you'll indulge me for another 20 seconds.
355
+ I maintain many dozens of gems, including this one,
356
+ because I want Ruby to be a great place for people to solve problems, big and small.
357
+ Please consider supporting my efforts via the giant yellow link below,
358
+ or one of the others at the head of this README.
359
+
360
+ [![Buy me a latte][🖇buyme-img]][🖇buyme]
361
+
362
+ [🏘chat]: https://gitter.im/oauth-xx/version_gem
363
+ [🏘chat-img]: https://img.shields.io/gitter/room/oauth-xx/version_gem.svg
364
+ [⛳️gem-namespace]: https://rubygems.org/gems/version_gem
365
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-VersionGem-brightgreen.svg?style=flat
366
+ [⛳️gem-name]: https://rubygems.org/gems/version_gem
367
+ [⛳️name-img]: https://img.shields.io/badge/name-version__gem-brightgreen.svg?style=flat
368
+ [🚎blog]: http://www.railsbling.com/tags/version_gem
369
+ [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
370
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
371
+ [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-blue?style=plastic&logo=linkedin
372
+ [💖✌️wellfound]: https://angel.co/u/peter-boling
373
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=plastic&logo=wellfound
374
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
375
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=plastic&logo=crunchbase
376
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
377
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=plastic&logo=mastodon&label=Ruby%20%40galtzo
378
+ [💖🌳linktree]: https://linktr.ee/galtzo
379
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=plastic&logo=linktree
380
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
381
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=plastic&logo=devdotto&logoColor=white
382
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
383
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
384
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-6FDA44?style=for-the-badge&logo=Upwork&logoColor=white
385
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
386
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get%20Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
387
+ [🏙️entsup-tidelift]: https://tidelift.com/
388
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/TideLift-Enterprise%20Support-1abc9c?style=for-the-badge&logo=TideLift&logoColor=white
389
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
390
+ [💁🏼‍♂️railsbling]: http://www.railsbling.com
391
+ [📜docs-gh-img]: https://img.shields.io/badge/Github-6FDA44?style=for-the-badge&logo=Github&logoColor=white
392
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current%20Release-6FDA44?style=for-the-badge&logo=RubyDoc&logoColor=white
393
+ [📜docs-head-rd-img]: https://img.shields.io/badge/RubyDoc-HEAD-6FDA44?style=for-the-badge&logo=RubyDoc&logoColor=white
394
+ [📜wiki]: https://gitlab.com/oauth-xx/version_gem/-/wikis/home
395
+ [📜wiki-img]: https://img.shields.io/badge/wiki-examples-brightgreen.svg?style=flat
396
+ [👽dl-rank]: https://rubygems.org/gems/version_gem
397
+ [👽dl-ranki]: https://img.shields.io/gem/rd/version_gem.svg
398
+ [👽oss-help]: https://www.codetriage.com/oauth-xx/version_gem
399
+ [👽oss-helpi]: https://www.codetriage.com/oauth-xx/version_gem/badges/users.svg
400
+ [👽version]: https://rubygems.org/gems/version_gem
401
+ [👽versioni]: https://img.shields.io/gem/v/version_gem.svg
402
+ [🔑cc-mnt]: https://codeclimate.com/github/oauth-xx/version_gem/maintainability
403
+ [🔑cc-mnti♻️]: https://api.codeclimate.com/v1/badges/e26c543320ca0d14e871/maintainability
404
+ [🔑cc-cov]: https://codeclimate.com/github/oauth-xx/version_gem/test_coverage
405
+ [🔑cc-covi♻️]: https://api.codeclimate.com/v1/badges/e26c543320ca0d14e871/test_coverage
406
+ [🔑codecov]: https://codecov.io/gh/oauth-xx/version_gem
407
+ [🔑codecovi♻️]: https://codecov.io/gh/oauth-xx/version_gem/branch/main/graph/badge.svg?token=cc6UdZCpAL
408
+ [🔑coveralls]: https://coveralls.io/github/oauth-xx/version_gem?branch=main
409
+ [🔑coveralls-img]: https://coveralls.io/repos/github/oauth-xx/version_gem/badge.svg?branch=main
410
+ [🔑depfu]: https://depfu.com/github/oauth-xx/version_gem
411
+ [🔑depfui♻️]: https://badges.depfu.com/badges/6c9b45362951b872127f9e46d39bed76/count.svg
412
+ [🖐codeQL]: https://github.com/oauth-xx/version_gem/security/code-scanning
413
+ [🖐codeQL-img]: https://github.com/oauth-xx/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
414
+ [🚎1-an-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/ancient.yml
415
+ [🚎1-an-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/ancient.yml/badge.svg
416
+ [🚎2-cov-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml
417
+ [🚎2-cov-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml/badge.svg
418
+ [🚎3-hd-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml
419
+ [🚎3-hd-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml/badge.svg
420
+ [🚎4-lg-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/legacy.yml
421
+ [🚎4-lg-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/legacy.yml/badge.svg
422
+ [🚎5-st-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml
423
+ [🚎5-st-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml/badge.svg
424
+ [🚎6-s-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml
425
+ [🚎6-s-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml/badge.svg
426
+ [🚎7-us-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml
427
+ [🚎7-us-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml/badge.svg
428
+ [🚎8-ho-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/hoary.yml
429
+ [🚎8-ho-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/hoary.yml/badge.svg
430
+ [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
431
+ [⛳liberapay]: https://liberapay.com/pboling/donate
432
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
433
+ [🖇sponsor]: https://github.com/sponsors/pboling
434
+ [🖇polar-img]: https://polar.sh/embed/seeks-funding-shield.svg?org=pboling
435
+ [🖇polar]: https://polar.sh/pboling
436
+ [🖇kofi-img]: https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg
437
+ [🖇kofi]: https://ko-fi.com/O5O86SNP4
438
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
439
+ [🖇patreon]: https://patreon.com/galtzo
440
+ [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
441
+ [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
442
+ [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
443
+ [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
444
+ [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
445
+ [💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
446
+ [💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
447
+ [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
448
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
449
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
450
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
451
+ [🤝issues]: https://github.com/oauth-xx/version_gem/issues
452
+ [🤝pulls]: https://github.com/oauth-xx/version_gem/pulls
453
+ [🤝contributing]: CONTRIBUTING.md
454
+ [🔑codecov-g]: https://codecov.io/gh/oauth-xx/version_gem/graphs/tree.svg?token=cc6UdZCpAL
455
+ [🖐contrib-rocks]: https://contrib.rocks
456
+ [🖐contributors]: https://github.com/oauth-xx/version_gem/graphs/contributors
457
+ [🖐contributors-img]: https://contrib.rocks/image?repo=oauth-xx/version_gem
458
+ [🚎contributors-gl]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
459
+ [🪇conduct]: CODE_OF_CONDUCT.md
460
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
461
+ [📌semver]: http://semver.org/
462
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
463
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
464
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
465
+ [📌changelog]: CHANGELOG.md
466
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
467
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
468
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
469
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.077-FFDD67.svg?style=flat
470
+ [🔐security]: SECURITY.md
471
+ [🔐security-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
472
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
473
+ [📄license]: LICENSE.txt
474
+ [📄license-ref]: https://opensource.org/licenses/MIT
475
+ [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
476
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
477
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-brightgreen.svg?style=flat
401
478
  [railsbling]: http://www.railsbling.com
402
- [rubygems]: https://rubygems.org/gems/version_gem
403
- [security]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
404
- [semver]: http://semver.org/
405
- [source]: https://gitlab.com/oauth-xx/version_gem
406
- [tweetme]: http://twitter.com/galtzo
479
+ [peterboling]: http://www.peterboling.com
480
+ [bundle-group-pattern]: https://gist.github.com/pboling/4564780
481
+ [🚎yard-current]: http://rubydoc.info/gems/version_gem
482
+ [🚎yard-head]: https://rubydoc.info/github/oauth-xx/version_gem/main
483
+ [homepage]: https://github.com/oauth-xx/version_gem
484
+ [🖇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
485
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
486
+ [🖇buyme-small-img]: https://img.shields.io/badge/Buy--Me--A--Coffee-✓-brightgreen.svg?style=flat
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VersionGem
2
4
  # Public API of this library
3
5
  module Api
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VersionGem
2
4
  class Error < RuntimeError; end
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VersionGem
2
4
  # Helpers for library CI integration against many different versions of Ruby
3
5
  module Ruby
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VersionGem
4
4
  module Version
5
- VERSION = "1.1.3"
5
+ VERSION = "1.1.5"
6
6
  # This would work in this gem, but not in external libraries,
7
7
  # because version files are loaded in Gemspecs before bundler
8
8
  # has a chance to load dependencies.
data/lib/version_gem.rb CHANGED
File without changes
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,42 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: version_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
12
11
  -----BEGIN CERTIFICATE-----
13
12
  MIIEgDCCAuigAwIBAgIBATANBgkqhkiG9w0BAQsFADBDMRUwEwYDVQQDDAxwZXRl
14
13
  ci5ib2xpbmcxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
15
- A2NvbTAeFw0yMjA5MTgyMzEyMzBaFw0yMzA5MTgyMzEyMzBaMEMxFTATBgNVBAMM
14
+ A2NvbTAeFw0yNDA5MjAwODU4NDJaFw0yNTA5MjAwODU4NDJaMEMxFTATBgNVBAMM
16
15
  DHBldGVyLmJvbGluZzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA2Dn1GM3W
18
- 8K2/rvN1zz+06bQMcxD16ZKTihVwi7Pb1v3T98rM4Omnxohm3s+CwpDWGeiB9pj6
19
- 0I/CTce0e4e3s8GKJSOrg93veImPSoH2PfsMsRsuB8wtqyiOCjLbF5o6S29x87r0
20
- LA5EawH+Lh4xqrkkPjdffsmLk7TaCig/vlmNvnzxXKBdey/X/aEJZXzzBiWRfVdh
21
- O1fmMbVKyieGv9HK7+pLotIoT08bjDv8NP6V7zZslwQRqW27bQc6cqC2LGIbTYO3
22
- 3jt1kQxfMWmhOictS6SzG9VtKSrXf0L4Neq0Gh7CLBZBvJFWJYZPfb92YNITDbd8
23
- emPOAQlXXNMN4mMXsEqtEhCPZRMnmwO+fOk/cC4AyglKi9lnQugCQoFV1XDMZST/
24
- CYbzdQyadOdPDInTntG6V+Uw51d2QGXZ6PDDfrx9+toc/3sl5h68rCUGgE6Q3jPz
25
- srinqmBsxv2vTpmd4FjmiAtEnwH5/ooLpQYL8UdAjEoeysxS3AwIh+5dAgMBAAGj
26
- fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQWU6D156a2cle+
27
- lb5RBfvVXlxTwjAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
16
+ LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAjrxsKObI
17
+ rFQjBpzvVfqnT6JlF8/pkpgEEjFh7ex3zIerfuHzZvSrx+sRDGxQ8koWWG0Wjx8s
18
+ wkBZ5dIqvl0g3sWP5asa28u/09opxkQTC1Ao77iYxcBcwoCe/Dpf1m4Q/m6oH0kL
19
+ 2AZVNJQL3UkqAcLS0tsj/s/jAKnVlsaZZE5gQiIIi8HtkvSsajtx+Cq2AxDvcWvV
20
+ /CliD+pmzYkTjvjwGm8yeyFGGGgrisJMryiZdZlkTwrQSjCzudIKbLeuG8Se4JTD
21
+ TAcT+rPubr27v1jwmtIjtiot3rf4nof7LHLb122a/0VR7cC7xPLnXw0Cq1BShvoq
22
+ /GKRdSwMNinTOGkFTK1gKnjN+3iD4zyXU3XO3CXoTr+Ju8fXPN1x4tpOMgbv8dme
23
+ WbcQMOH9ZjmA5w0bSVRL1c3NhRRpUzrKTNXBEvqOyWjUnintxWKj+cRXx+z+dUgI
24
+ dL3kj68fcsiTgl75In3C485pnCMmq1eLuVoiy3jkLNOn2lHeLt9ZK63LAgMBAAGj
25
+ fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRhfc+2UaVYd74p
26
+ yJ1JclGiUYN8+jAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
28
27
  A1UdEgQaMBiBFnBldGVyLmJvbGluZ0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQAD
29
- ggGBAJ4SqhPlgUiLYIrphGXIaxXScHyvx4kixuvdrwhI4VoQV2qXvO7R6ZjOXVwX
30
- f/z84BWPiTZ8lzThPbt1UV/BGwkvLw9I4RjOdzvUz3J42j9Ly6q63isall07bo3F
31
- QWe/OBvIMBF1IbjC3q5vKPg4rq8+TkNRJNoE86U2gfR+PkW3jYYs9uiy0GloHDCP
32
- k5xgaj0vSL0Uy5mTOPdk3K6a/sUGZyYniWK05zdhIi956ynhfGaFO988FFdVw5Jq
33
- LHtXfIpAU8F7ES04syZSslxOluw7VlcSKyRdVIr737J92ZTduppB4PRGSKRgBsWV
34
- hXTahRE72Kyw53Q7FAuzF3v102WxAAQ7BuMjW+MyCUT75fwPm3W4ELPL8HYkNGE7
35
- 2oA5CPghFitRnvYS3GNrDG+9bNiRMEskeaBYwZ9UgReBQIwGYVj7LZk3UhiAsn44
36
- gwGrEXGQGDZ0NIgBcmvMOqlXjkGQwQvugKycJ024z89+fz2332vdZIKTrSxJrXGk
37
- 4/bR9A==
28
+ ggGBAA4fLU2+mQ++jBhVM2IeyvQdw1nm+0thkH4Ldv8ZOBm5ZxCPGIMoYliDDzg4
29
+ 4JDFxZR1wR4sdrz/K5tWtEkN23SKzopwbNb1NIQRSLQ7nOoc+4bkuz9xwKinmIvF
30
+ D+5qsl2S27WLKFreMDtGoh0CREIMBUxU4rGTh0gtzmweGR+fnOShg4Jo0kxrjU5h
31
+ uYk/uVE+bn/jOEGs43GvKXZLyshpBrZjQ+ArbvxDht5t35zbSxerbUxUPZUbXUCW
32
+ tTyh38a9UYjAAHvnh6Y4Fi9wd4/pGNsektrzB3z/zlVj4YF2TMLX9XfNJWEGRGpO
33
+ sSkLYdtEX1WQAmuZtActVW2cL3HdQaRbiv7VbfpA0eSk0ZdZHvBCl516ZZu10uX6
34
+ 82W1mg6fuezdpeBOiXwrEbZSt/oGiF4V511F6nd55p0okwHc/6nS10F/3aKJ4gwC
35
+ I5o+DRfXQHqKucx1ldFHvI2rE/kSCWqGTHN2eyu1sqCPeOoIMxrltJhaejKPkxqj
36
+ zaF9Og==
38
37
  -----END CERTIFICATE-----
39
- date: 2023-06-05 00:00:00.000000000 Z
38
+ date: 2025-02-22 00:00:00.000000000 Z
40
39
  dependencies:
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: rspec
@@ -44,14 +43,14 @@ dependencies:
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '3.12'
46
+ version: '3.13'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '3.12'
53
+ version: '3.13'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: rspec-block_is_expected
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -80,27 +79,19 @@ dependencies:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
81
  version: '13.0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.14'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.14'
97
82
  description: Versions are good. Versions are cool. Versions will win.
98
83
  email:
99
84
  - peter.boling@gmail.com
100
85
  - oauth-ruby@googlegroups.com
101
86
  executables: []
102
87
  extensions: []
103
- extra_rdoc_files: []
88
+ extra_rdoc_files:
89
+ - CHANGELOG.md
90
+ - CODE_OF_CONDUCT.md
91
+ - CONTRIBUTING.md
92
+ - LICENSE.txt
93
+ - README.md
94
+ - SECURITY.md
104
95
  files:
105
96
  - CHANGELOG.md
106
97
  - CODE_OF_CONDUCT.md
@@ -120,16 +111,22 @@ licenses:
120
111
  - MIT
121
112
  metadata:
122
113
  homepage_uri: https://gitlab.com/oauth-xx/version_gem
123
- source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.3
124
- changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.3/CHANGELOG.md
114
+ source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.5
115
+ changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.5/CHANGELOG.md
125
116
  bug_tracker_uri: https://gitlab.com/oauth-xx/version_gem/-/issues
126
- documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.3
117
+ documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.5
127
118
  wiki_uri: https://gitlab.com/oauth-xx/version_gem/-/wiki
128
119
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
129
120
  funding_uri: https://liberapay.com/pboling
130
121
  rubygems_mfa_required: 'true'
131
- post_install_message:
132
- rdoc_options: []
122
+ rdoc_options:
123
+ - "--title"
124
+ - version_gem - Enhance your VERSION! Sugar for Version modules.
125
+ - "--main"
126
+ - README.md
127
+ - "--line-numbers"
128
+ - "--inline-source"
129
+ - "--quiet"
133
130
  require_paths:
134
131
  - lib
135
132
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -143,8 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
140
  - !ruby/object:Gem::Version
144
141
  version: '0'
145
142
  requirements: []
146
- rubygems_version: 3.4.10
147
- signing_key:
143
+ rubygems_version: 3.6.4
148
144
  specification_version: 4
149
145
  summary: Enhance your VERSION! Sugar for Version modules.
150
146
  test_files: []
metadata.gz.sig CHANGED
Binary file