version_gem 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 293448abeed414d0a43cee34925de9e94cf3329326e248d18694d499f1952e47
4
- data.tar.gz: 24a83ab4592f9b5271205ee24b7829af6bb13aae5f2a74f982663aad127ac6b3
3
+ metadata.gz: 46fdc77dde9960d5a1cc1e8e4d5c167886ef9852e8dd653f99f13901639f9ed3
4
+ data.tar.gz: 53f6e874d39543bde0be8158ae9631c41baad47b86600c30cc5ec4658ecdfe07
5
5
  SHA512:
6
- metadata.gz: 8b668065b9b75fd6e7e262ee7a8237da8e8844bdb9f11978cc504da6d7da5dce436bbe3af096c1feb18aab0b0d938a3b083a6090af992ae60ffd849f0f5e8e86
7
- data.tar.gz: cf0d558fc6ffb5a39795515c4b98553e7703a2ccc120488e5ca09c2ae4c7761143c0127506da9596606ea57bd47627be3ef41ee19f2f930e755d5044b901bbe3
6
+ metadata.gz: '0118cebf5ed37f1f964558421edc1aab00fdae41664575be68071775003f2d6cdabaabccc550155aea97d39a7a10d7ec462879db52ddfa521151ab1633fee141'
7
+ data.tar.gz: 777c2180b9e60dce87a8fb21dc17aa8005cc7be83393891d9d1522d07819e38f34b6e8a5584f66588acda6250488728d80d166fe90c61ee43bd08c50133b953d
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- <m��F�����:��
2
- 萧����m$�,�7b��GC.0!�$? x8�������Y77rc�����:���"�uB�QCyO�<�r�����.� �9��B��6O㳻�u��e��� ]�����P�܏�0y��R�*��=�a׫�_@���NA���'�0FDd�u#�{p�_�'g�uR��'�AOi���̆ N�����t�Ren+P����rw�U�� �o�8mI����ت`m_P�P���⿤.���4״���`��h&�!��S*.6~�~��2����e���؋�o���8�u �zpݴu�D=��vjHX��.ܡ� X�U��n�:��w����$�@P�ڎ�b �DQZM��b
1
+ 7�� ���?4�@�f��my3󬶃�|�WG�0#%8��d���� ���ė����>��cm��a�çto��6�L��
2
+ ���?:�Wߟ��p;�w��6E��i��{� FG֒$爴�U��;���0���aщ�� Sr��_�Y��Ӳ/:d��L=�Etb�1���8ւ�\��cO9���'_]6�� �IcPӻ�Ey����d����cA�
data/CHANGELOG.md CHANGED
@@ -10,6 +10,21 @@ 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
+
13
28
  ## [1.1.4] 2024-03-21 ([tag][1.1.4t])
14
29
  ### Added
15
30
  - Ruby 3.3 to CI (@pboling)
@@ -32,6 +47,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
32
47
  - (dev) Rake task for rubocop_gradual (@pboling)
33
48
  ### Fixed
34
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.
35
53
 
36
54
  ## [1.1.2] - 2023-03-17 ([tag][1.1.2t])
37
55
  ### Added
@@ -72,7 +90,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
72
90
  ### Added
73
91
  - Initial release, with basic version parsing API (@pboling)
74
92
 
75
- [Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.4...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
76
96
  [1.1.4]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.3...v1.1.4
77
97
  [1.1.4t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.4
78
98
  [1.1.3]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.2...v1.1.3
data/CONTRIBUTING.md CHANGED
@@ -8,71 +8,108 @@ 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 `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
18
- 4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
19
- 5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
20
- a. NOTE: Remember to [check the build][🧪build]!
21
- 6. Run `git checkout main` (Or whichever branch is considered `trunk`, e.g. `master`)
22
- 7. Run `git pull origin main` to ensure you will release the latest trunk code.
23
- 8. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
24
- a. Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS` (you'll need the zsh/datetime module, if running zsh)
25
- 9. Run `bundle exec rake build`
26
- 10. Run [`bin/checksums`](https://github.com/rubygems/guides/pull/325) to create SHA-256 and SHA-512 checksums
27
- a. Checksums will be committed automatically by the script, but not pushed
28
- 11. Run `bundle exec rake release` which will create a git tag for the version,
29
- push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
30
-
31
- NOTE: You will need to have a public key in `certs/`, and list your cert in the
32
- `gemspec`, in order to sign the new release.
33
- See: [RubyGems Security Guide][🔒️rubygems-security-guide]
15
+ Simply follow these instructions:
34
16
 
35
- ## Contributors
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.
36
24
 
37
- [![Contributors](https://contrib.rocks/image?repo=oauth-xx/version_gem)][🖐contributors]
25
+ ## Appraisals
38
26
 
39
- Made with [contributors-img][🖐contrib-rocks].
27
+ From time to time the appraisal gemfiles in `gemfiles/` will need to be updated.
28
+ They are created and updated with the commands:
40
29
 
41
- Also see GitLab Contributors: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors]
30
+ NOTE: We run on a [fork][🚎appraisal-fork] of Appraisal.
42
31
 
43
- ## Contributing
32
+ Please upvote the PR for `eval_gemfile` [support][🚎appraisal-eval-gemfile-pr]
44
33
 
45
- Bug reports and pull requests are welcome on GitLab at [https://gitlab.com/oauth-xx/version_gem][🚎src-main]
46
- . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
47
- the [code of conduct][conduct].
34
+ ```shell
35
+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle
36
+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
37
+ ```
48
38
 
49
- To submit a patch, please fork the project and create a patch with
50
- tests. Once you're happy with it send a pull request and post a message to the
51
- [google group][⛳mail-list] or on the [gitter chat][🏘chat].
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
52
50
 
53
- ## Release
51
+ To run all tests
54
52
 
55
- To release a new version:
53
+ ```bash
54
+ bundle exec rake test
55
+ ```
56
56
 
57
- 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check.
58
- 2. update the version number in `version.rb`
59
- 3. run `bundle exec rake build:checksum`
60
- 4. move the built gem to project root
61
- 5. run `bin/checksum` to create the missing SHA256 checksum
62
- 6. move the built gem back to `pkg/`
63
- 7. commit the changes
64
- 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].
57
+ ## Lint It
65
58
 
66
- NOTE: You will need to have a public key in `certs/`, and list your cert in the
67
- `gemspec`, in order to sign the new release.
68
- See: [RubyGems Security Guide][rubygems-security-guide]
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
+ ```
69
70
 
70
71
  ## Contributors
71
72
 
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
72
84
 
73
- [comment]: <> (Following links are used by README, CONTRIBUTING)
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:
91
+
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]
74
112
 
75
- [🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
76
113
  [⛳mail-list]: http://groups.google.com/group/oauth-ruby
77
114
  [🚎src-main]: https://gitlab.com/oauth-xx/version_gem
78
115
  [🧪build]: https://github.com/oauth-xx/version_gem/actions
@@ -80,6 +117,15 @@ See: [RubyGems Security Guide][rubygems-security-guide]
80
117
  [🤝conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
81
118
  [🖐contrib-rocks]: https://contrib.rocks
82
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
83
122
  [💎rubygems]: https://rubygems.org
84
123
  [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
85
- [🚎src-main]: https://github.com/oauth-xx/version_gem
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,
@@ -13,26 +45,6 @@ gem from the Alchemists, or _[version_sorter](https://rubygems.org/gems/version_
13
45
 
14
46
  For more discussion about this [see issue #2](https://gitlab.com/oauth-xx/version_gem/-/issues/2)
15
47
 
16
- -----
17
-
18
- <div id="badges">
19
-
20
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
21
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
22
- <span class="badge-buymeacoffee">
23
- <a href="https://ko-fi.com/O5O86SNP4" target='_blank' title="Donate to my FLOSS or refugee efforts at ko-fi.com"><img src="https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg" alt="Buy me coffee donation button" /></a>
24
- </span>
25
- <span class="badge-patreon">
26
- <a href="https://patreon.com/galtzo" title="Donate to my FLOSS or refugee efforts using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a>
27
- </span>
28
-
29
- </div>
30
-
31
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
32
- [⛳liberapay]: https://liberapay.com/pboling/donate
33
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
34
- [🖇sponsor]: https://github.com/sponsors/pboling
35
-
36
48
  ## Still here?
37
49
 
38
50
  Give your next library an introspectable `Version` module without breaking your Gemspec.
@@ -51,134 +63,15 @@ This library was extracted from the gem _[oauth2](https://gitlab.com/oauth-xx/oa
51
63
 
52
64
  This gem has no runtime dependencies.
53
65
 
54
- <!--
55
- Numbering rows and badges in each row as a visual "database" lookup,
56
- as the table is extremely dense, and it can be very difficult to find anything
57
- Putting one on each row here, to document the emoji that should be used, and for ease of copy/paste.
58
-
59
- row #s:
60
- 1️⃣
61
- 2️⃣
62
- 3️⃣
63
- 4️⃣
64
- 5️⃣
65
- 6️⃣
66
- 7️⃣
67
-
68
- badge #s:
69
- ⛳️
70
- 🖇
71
- 🏘
72
- 🚎
73
- 🖐
74
- 🧮
75
- 📗
76
-
77
- appended indicators:
78
- ♻️ - URL needs to be updated from SAAS integration. Find / Replace is insufficient.
79
- -->
80
-
81
- | | Project | bundle add version_gem |
82
- |:----|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
83
- | 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] |
84
- | 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] |
85
- | 3️⃣ | maintenance & 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] |
86
- | 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]--> |
87
- | 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] |
88
- | 6️⃣ | resources | [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Wiki][🖐wiki-img]][🖐wiki] |
89
- | 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] |
90
-
91
- <!--
92
- The link tokens in the following sections should be kept ordered by the row and badge numbering scheme
93
- -->
94
-
95
- <!-- 1️⃣ name, license, docs -->
96
- [⛳️gem]: https://rubygems.org/gems/version_gem
97
- [⛳️name-img]: https://img.shields.io/badge/name-version_gem-brightgreen.svg?style=flat
98
- [🖇src-license]: https://opensource.org/licenses/MIT
99
- [🖇src-license-img]: https://img.shields.io/badge/License-MIT-green.svg
100
- [🚎yard]: https://www.rubydoc.info/gems/version_gem
101
- [🚎yard-img]: https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat
102
- [🧮semver]: http://semver.org/
103
- [🧮semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
104
- [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
105
- [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
106
-
107
- <!-- 2️⃣ version & activity -->
108
- [⛳️version-img]: http://img.shields.io/gem/v/version_gem.svg
109
- [🖇DL-total-img]: https://img.shields.io/gem/dt/version_gem.svg
110
- [🏘DL-rank-img]: https://img.shields.io/gem/rt/version_gem.svg
111
- [🚎src-main]: https://gitlab.com/oauth-xx/version_gem
112
- [🚎src-main-img]: https://img.shields.io/badge/source-gitlab-brightgreen.svg?style=flat
113
- [🖐prs-o]: https://gitlab.com/oauth-xx/version_gem/-/merge_requests
114
- [🖐prs-o-img]: https://img.shields.io/github/issues-pr/pboling/version_gem
115
- [🧮prs-c]: https://github.com/pboling/version_gem/pulls?q=is%3Apr+is%3Aclosed
116
- [🧮prs-c-img]: https://img.shields.io/github/issues-pr-closed/pboling/version_gem
117
-
118
- <!-- 3️⃣ maintenance & linting -->
119
- [⛳cclim-maint]: https://codeclimate.com/github/pboling/version_gem/maintainability
120
- [⛳cclim-maint-img♻️]: https://api.codeclimate.com/v1/badges/b504d61c4ed1d46aec02/maintainability
121
- [🖇triage-help]: https://www.codetriage.com/pboling/version_gem
122
- [🖇triage-help-img]: https://www.codetriage.com/pboling/version_gem/badges/users.svg
123
- [🏘depfu♻️]: https://depfu.com/github/pboling/version_gem?project_id=35803
124
- [🏘depfu-img♻️]: https://badges.depfu.com/badges/5d8943de6cfdf1ee048ad6d907f3e35b/count.svg
125
- [🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
126
- [🚎contributors-img]: https://img.shields.io/github/contributors-anon/pboling/version_gem
127
- [🖐style-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml
128
- [🖐style-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml/badge.svg
129
- [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
130
- [🧮kloc-img]: https://img.shields.io/tokei/lines/github.com/pboling/version_gem
131
-
132
- <!-- 4️⃣ testing -->
133
- [🏘sup-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml
134
- [🏘sup-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml/badge.svg
135
- [🚎heads-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml
136
- [🚎heads-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml/badge.svg
137
- [🖐uns-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml
138
- [🖐uns-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml/badge.svg
139
- [🧮mac-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/macos.yml
140
- [🧮mac-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/macos.yml/badge.svg
141
- [📗win-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/windows.yml
142
- [📗win-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/windows.yml/badge.svg
143
-
144
- <!-- 5️⃣ coverage & security -->
145
- [⛳cclim-cov]: https://codeclimate.com/github/pboling/version_gem/test_coverage
146
- [⛳cclim-cov-img♻️]: https://api.codeclimate.com/v1/badges/b504d61c4ed1d46aec02/test_coverage
147
- [🖇codecov-img♻️]: https://codecov.io/gh/pboling/version_gem/branch/main/graph/badge.svg?token=79c3X4vtfO
148
- [🖇codecov]: https://codecov.io/gh/pboling/version_gem
149
- [🏘coveralls]: https://coveralls.io/github/pboling/version_gem?branch=main
150
- [🏘coveralls-img]: https://coveralls.io/repos/github/pboling/version_gem/badge.svg?branch=main
151
- [🚎sec-pol]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
152
- [🚎sec-pol-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
153
- [🖐codeQL]: https://github.com/pboling/version_gem/security/code-scanning
154
- [🖐codeQL-img]: https://github.com/oauth-xx/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
155
- [🧮cov-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml
156
- [🧮cov-wf-img]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml/badge.svg
157
-
158
- <!-- 6️⃣ resources -->
159
- [🖇codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
160
- [🖇codementor-img]: https://cdn.codementor.io/badges/get_help_github.svg
161
- [🏘chat]: https://gitter.im/oauth-xx/version_gem
162
- [🏘chat-img]: https://img.shields.io/gitter/room/oauth-xx/version_gem.svg
163
- [🚎blog]: http://www.railsbling.com/tags/version_gem/
164
- [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
165
- [🖐wiki]: https://gitlab.com/oauth-xx/version_gem/-/wikis/home
166
- [🖐wiki-img]: https://img.shields.io/badge/wiki-examples-brightgreen.svg?style=flat
167
-
168
- <!-- 7️⃣ spread 💖 -->
169
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
170
- [⛳liberapay]: https://liberapay.com/pboling/donate
171
- [🖇sponsor-img]: https://img.shields.io/badge/sponsor-pboling.svg?style=social&logo=github
172
- [🖇sponsor]: https://github.com/sponsors/pboling
173
- [🏘tweet-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
174
- [🏘tweet]: http://twitter.com/galtzo
175
-
176
- <!-- Maintainer Contact Links -->
177
- [railsbling]: http://www.railsbling.com
178
- [peterboling]: http://www.peterboling.com
179
- [aboutme]: https://about.me/peter.boling
180
- [angelme]: https://angel.co/peter-boling
181
- [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] |
182
75
 
183
76
  ## Installation
184
77
 
@@ -237,14 +130,33 @@ MyLib::Version.to_a # => [0, 1, 0]
237
130
  MyLib::Version.to_h # => { major: 0, minor: 1, patch: 0, pre: "" }
238
131
  ```
239
132
 
240
- ### 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
241
153
 
242
154
  Your `version.rb` file now abides the Ruby convention of directory / path matching the namespace / class!
243
155
 
244
156
  ### Zietwerk
245
157
 
246
158
  The pattern of `version.rb` breaking the ruby convention of directory / path matching the namespace / class
247
- 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. 🥺
248
160
  RubyGems using this "bad is actually good" pattern are encouraged to use `Zeitwerk.for_gem`.
249
161
 
250
162
  **Do not do that ^** if you use this gem.
@@ -283,8 +195,9 @@ end
283
195
 
284
196
  #### Complex Zeitwerk Example
285
197
 
198
+ Maybe you would like to contribute one?
286
199
 
287
- #### Query Ruby Version (as of version 1.2.0)
200
+ #### Query Ruby Version (as of version 1.1.2)
288
201
 
289
202
  In Continuous Integration environments for libraries that run against many versions of Ruby,
290
203
  I often need to configure things discretely per Ruby version, and doing so forced me to repeat
@@ -347,43 +260,75 @@ RSpec.describe(MyLib::Version) do
347
260
  end
348
261
  ```
349
262
 
350
- ## Development
263
+ ## 🔐 Security
351
264
 
352
- 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].
353
266
 
354
- 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
355
268
 
356
- ## 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.
357
272
 
358
- See [CONTRIBUTING.md][contributing]
273
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
359
274
 
360
- ## Contributors
275
+ Also, see [CONTRIBUTING.md][🤝contributing].
361
276
 
362
- [![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)]("https://gitlab.com/oauth-xx/version_gem/-/graphs/main")
277
+ ### Code Coverage
363
278
 
364
- Made with [contributors-img](https://contrib.rocks).
279
+ [![Coverage Graph][🔑codecov-g]][🔑codecov]
365
280
 
366
- ## License
281
+ ## 🌈 Contributors
367
282
 
368
- The gem is available as open source under the terms of
369
- the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
370
- 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
290
+
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>
298
+
299
+ ## 🪇 Code of Conduct
300
+
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].
371
303
 
372
- * Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
304
+ ## 📌 Versioning
373
305
 
374
- ## Code of Conduct
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.
375
311
 
376
- 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).
312
+ ### 📌 Is "Platform Support" part of the public API?
377
313
 
378
- ## Versioning
314
+ Yes. But I'm obligated to include notes...
379
315
 
380
- This library aims to adhere to [Semantic Versioning 2.0.0][🧮semver]. Violations of this scheme should be reported as
381
- bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
382
- immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
383
- major versions.
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.
384
319
 
385
- As a result of this policy, you can (and should) specify a dependency on this gem using
386
- the [Pessimistic Version Constraint][pvc] with two digits of precision.
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.
387
332
 
388
333
  For example:
389
334
 
@@ -391,36 +336,151 @@ For example:
391
336
  spec.add_dependency("version_gem", "~> 1.1")
392
337
  ```
393
338
 
394
- ## Security
395
-
396
- See [SECURITY.md](https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md).
397
-
398
- [aboutme]: https://about.me/peter.boling
399
- [actions]: https://github.com/oauth-xx/version_gem/actions
400
- [angelme]: https://angel.co/peter-boling
401
- [blogpage]: http://www.railsbling.com/tags/version_gem/
402
- [codecov_coverage]: https://codecov.io/gh/oauth-xx/version_gem
403
- [code_triage]: https://www.codetriage.com/oauth-xx/version_gem
404
- [chat]: https://gitter.im/oauth-xx/version_gem?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
405
- [climate_coverage]: https://codeclimate.com/github/oauth-xx/version_gem/test_coverage
406
- [climate_maintainability]: https://codeclimate.com/github/oauth-xx/version_gem/maintainability
407
- [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
408
- [conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
409
- [contributing]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CONTRIBUTING.md
410
- [devto]: https://dev.to/galtzo
411
- [documentation]: https://rubydoc.info/github/oauth-xx/version_gem/main
412
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
413
- [gh_sponsors]: https://github.com/sponsors/pboling
414
- [issues]: https://github.com/oauth-xx/version_gem/issues
415
- [liberapay_donate]: https://liberapay.com/pboling/donate
416
- [license]: LICENSE.txt
417
- [license-ref]: https://opensource.org/licenses/MIT
418
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
419
- [peterboling]: http://www.peterboling.com
420
- [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
421
478
  [railsbling]: http://www.railsbling.com
422
- [rubygems]: https://rubygems.org/gems/version_gem
423
- [security]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
424
- [semver]: http://semver.org/
425
- [source]: https://gitlab.com/oauth-xx/version_gem
426
- [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.4"
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.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.4
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
- A2NvbTAeFw0yMzA5MjAxNzMwMjhaFw0yNDA5MTkxNzMwMjhaMEMxFTATBgNVBAMM
14
+ A2NvbTAeFw0yNDA5MjAwODU4NDJaFw0yNTA5MjAwODU4NDJaMEMxFTATBgNVBAMM
16
15
  DHBldGVyLmJvbGluZzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA+a9UvHo3
18
- 84k96WgU5Kk5HB+cLZs/modjorsTfqY67MJF5nNvAoqcKTUBW4uG+Zpfnm3jaDO5
19
- GxhJEIZWfndYzycHT2KMVQ1uTP82ba8ZaKrPlPIafkbui3mdds47qsmqHiblKERg
20
- U532lkwfqHDlJwE7OBZQ59EwWWLynlT/yAUHpOBbqIuHKUxdpmBI+sIjrZcD1e05
21
- WmjkO6fwIdC5oM757aoPxIgXD587VOViH11Vkm2doskj4T8yONtwVHlcrrhJ9Bzd
22
- /zdp6vEn7GZQrABvpOlqwWxQ72ZnFhJe/RJZf6CXOPOh69Ai0QKYl2a1sYuCJKS3
23
- nsBnxXJINEEznjR7rZjNUmYD+CZqfjzgPqedRxTlASe7iA4w7xZOqMDzcuhNwcUQ
24
- tMEH6BTktxKP3jXZPXRfHCf6s+HRVb6vezAonTBVyydf5Xp5VwWkd6cwm+2BzHl5
25
- 7kc/3lLxKMcsyEUprAsk8LdHohwZdC267l+RS++AP6Cz6x+nB3oGob19AgMBAAGj
26
- fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQCSSas60GqqMjt
27
- xR7LoY1gucEvtzAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
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
- ggGBAMl9ifcw5p+PdvB7dCPoNKoVdp/2LbC9ztETHuYL2gUMJB6UoS3o9c/piSuR
30
- V3ZMQaijmNu6ms1bWAtJ66LjmYrVflJtf9yp31Kierr9LpisMSUx2qbMOHGa8d2Z
31
- vCUWPF8E9Cg0mP3GAyZ6qql8jDh/anUKeksPXqJvNxNPDu2DVYsa/IWdl96whzS4
32
- Bl7SwB1E7agps40UcshCSKaVDOU0M+XN6SrnJMElnBic+KSAkBkVFbzS0BE4ODZM
33
- BgE6nYzQ05qhuvbE+oGdACTlemNtDDWCh0uw+7x0q2PocGIDU5zsPn/WNTkCXPmB
34
- CHGvqDNWq4M7ncTKAaS2XExgyb7uPdq9fKiOW8nmH+zCiGzJXzBWwZlKf7L4Ht9E
35
- a3f0e5C+zvee9Z5Ng9ciyfav9/fcXgYt5MjoBv27THr5XfBhgOCIHSYW2tqJmWKi
36
- KuxrfYrN+9HvMdm+nZ6TypmKftHY3Gj+/uu+g8Icm/zrvTWAEE0mcJOkfrIoNPJb
37
- pF8dMA==
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: 2024-03-21 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.4
124
- changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.4/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.4
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.5.6
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