version_gem 1.1.1 → 1.1.2

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: 617f64c21f615e873f17b3774d4cc1e156d10f276c670f7f84308b2fd0853d75
4
- data.tar.gz: '082c40a241be990945f0f4c9939419b5aa49c632bc1ff77e2ab9459736855519'
3
+ metadata.gz: f2a6a1430cecd3c606bb156d42509955cc88b81afc05c33709bd1c482d35a352
4
+ data.tar.gz: f831c27f2fac9f8265dbe62dd8a223baafb1272e5ebe5e55bde7cb133e4196b0
5
5
  SHA512:
6
- metadata.gz: 396d61f301aac49502dcef070dcbca71343b9e1532062e8b5c90b2dfbb1d2bd63d714ea8261c76bcbb2048c49de2810742cfba8235b048b7c958dc567f57da66
7
- data.tar.gz: 2f8a9fabf0e1388528fc25ee8e6372c9347413acb3ad31726a831b768c49df2da5f493de4f290039d4afb4248855e1a963967abd835151271db11f3193124df0
6
+ metadata.gz: '07860ba32ebcbaa03662bcdfbef3cb11e77b46d7d9b9bc6fc295bc24b304edcc9ec635de631fd4d7e018cd6d4dc9ddc7b56af9316453a4e0968f4473dec1be5f'
7
+ data.tar.gz: f4956055f1366e0e882610fe1e1abbc841ed0fee4c5b62e262330073256bba627f6634a542aa4d55c5e7dd74b2803693e2590f3ff1e156bb880cafdc8f7b82cc
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@ 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.2] - 2023-03-17 ([tag][1.1.2t])
14
+ ### Added
15
+ - `VersionGem::Ruby` to help library CI integration against many different versions of Ruby (@pboling)
16
+ - Experimental, optional, require (not loaded by default, which is why this can be in a patch)
17
+ - Spec coverage is now 100%, lines and branches, including the fabled `version.rb` (@pboling)
18
+ - Full RBS Signatures (@pboling)
19
+
13
20
  ## [1.1.1] - 2022-09-19 ([tag][1.1.1t])
14
21
  ### Added
15
22
  - Alternatives section to README.md (@pboling)
@@ -42,7 +49,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
49
  ### Added
43
50
  - Initial release, with basic version parsing API (@pboling)
44
51
 
45
- [Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...HEAD
52
+ [Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.2...HEAD
53
+ [1.1.2]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...v1.1.2
54
+ [1.1.2t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.2
46
55
  [1.1.1]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.0...v1.1.1
47
56
  [1.1.1t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.1
48
57
  [1.1.0]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.0.2...v1.1.0
data/CONTRIBUTING.md CHANGED
@@ -1,25 +1,40 @@
1
1
  ## Contributing
2
2
 
3
- Bug reports and pull requests are welcome on GitHub at [https://github.com/pboling/version_gem][source]
3
+ Bug reports and pull requests are welcome on GitLab 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
5
  the [code of conduct][conduct].
6
6
 
7
- To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request!
7
+ To submit a patch, please fork the project and create a patch with
8
+ tests. Once you're happy with it send a pull request and post a message to the
9
+ [google group][⛳mail-list] or on the [gitter chat][🏘chat].
8
10
 
9
- ## Contributors
10
-
11
- [![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)][contributors]
11
+ ## Release
12
12
 
13
- Made with [contributors-img][contrib-rocks].
13
+ To release a new version:
14
14
 
15
- [comment]: <> (Following links are used by README, CONTRIBUTING)
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].
16
23
 
17
- [conduct]: https://github.com/pboling/version_gem/blob/main/CODE_OF_CONDUCT.md
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]
18
27
 
19
- [contrib-rocks]: https://contrib.rocks
28
+ ## Contributors
20
29
 
21
- [contributors]: https://github.com/pboling/version_gem/graphs/contributors
30
+ See: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors]
22
31
 
23
- [comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
32
+ [comment]: <> (Following links are used by README, CONTRIBUTING)
24
33
 
25
- [source]: https://github.com/pboling/version_gem
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
+ [⛳mail-list]: http://groups.google.com/group/oauth-ruby
37
+ [🚎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
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2022 Peter Boling
3
+ Copyright (c) 2022 - 2023 Peter Boling
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -8,10 +8,10 @@ This gem has a very niche purpose, which is:
8
8
  2. while not interfering with `gemspec` parsing where the `VERSION` string is traditionally used.
9
9
 
10
10
  If this isn't **precisely** your use case you may be better off looking at
11
- [`Versionaire`](https://www.alchemists.io/projects/versionaire), a wonderful, performant, well-maintained,
12
- gem from the Alchemists.
11
+ [`versionaire`](https://www.alchemists.io/projects/versionaire), a wonderful, performant, well-maintained,
12
+ gem from the Alchemists, or [`version_sorter`](https://rubygems.org/gems/version_sorter) from GitHub.
13
13
 
14
- For more discussion about this [see issue #2](https://github.com/pboling/version_gem/issues/2)
14
+ For more discussion about this [see issue #2](https://gitlab.com/oauth-xx/version_gem/-/issues/2)
15
15
 
16
16
  ## Still here?
17
17
 
@@ -27,7 +27,7 @@ MyLib::Version.to_a # => [1, 2, 3, "rc3"]
27
27
  MyLib::Version.to_h # => { major: 1, minor: 2, patch: 3, pre: "rc3" }
28
28
  ```
29
29
 
30
- This library was extracted from the gem [`oauth2`](https://github.com/oauth-xx/oauth2).
30
+ This library was extracted from the gem [`oauth2`](https://gitlab.com/oauth-xx/oauth2).
31
31
 
32
32
  This gem has no runtime dependencies.
33
33
 
@@ -58,14 +58,14 @@ appended indicators:
58
58
  ♻️ - URL needs to be updated from SAAS integration. Find / Replace is insufficient.
59
59
  -->
60
60
 
61
- | | Project | bundle add version_gem |
61
+ | | Project | bundle add version_gem |
62
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-home-img]][🚎src-home] [![Open PRs][🖐prs-o-img]][🖐prs-o] [![Closed PRs][🧮prs-c-img]][🧮prs-c] <!--[![Next Version][📗next-img]][📗next]--> |
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] <!--[![Next Version][📗next-img]][📗next]--> |
65
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 | [![Open Issues][⛳iss-o-img]][⛳iss-o] [![Closed Issues][🖇iss-c-img]][🖇iss-c] [![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]--> |
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
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 | [![Discussion][⛳gh-discussions-img]][⛳gh-discussions] [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Wiki][🖐wiki-img]][🖐wiki] |
68
+ | 6️⃣ | resources | [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Wiki][🖐wiki-img]][🖐wiki] |
69
69
  | 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] |
70
70
 
71
71
  <!--
@@ -77,8 +77,9 @@ The link tokens in the following sections should be kept ordered by the row and
77
77
  [⛳️name-img]: https://img.shields.io/badge/name-version_gem-brightgreen.svg?style=flat
78
78
  [🖇src-license]: https://opensource.org/licenses/MIT
79
79
  [🖇src-license-img]: https://img.shields.io/badge/License-MIT-green.svg
80
- [🚎yard]: https://www.rubydoc.info/github/pboling/version_gem
80
+ [🚎yard]: https://www.rubydoc.info/gems/version_gem
81
81
  [🚎yard-img]: https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat
82
+ [🧮semver]: http://semver.org/
82
83
  [🧮semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
83
84
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
84
85
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
@@ -87,14 +88,12 @@ The link tokens in the following sections should be kept ordered by the row and
87
88
  [⛳️version-img]: http://img.shields.io/gem/v/version_gem.svg
88
89
  [🖇DL-total-img]: https://img.shields.io/gem/dt/version_gem.svg
89
90
  [🏘DL-rank-img]: https://img.shields.io/gem/rt/version_gem.svg
90
- [🚎src-home]: https://github.com/pboling/version_gem
91
- [🚎src-home-img]: https://img.shields.io/badge/source-github-brightgreen.svg?style=flat
92
- [🖐prs-o]: https://github.com/pboling/version_gem/pulls
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
93
94
  [🖐prs-o-img]: https://img.shields.io/github/issues-pr/pboling/version_gem
94
95
  [🧮prs-c]: https://github.com/pboling/version_gem/pulls?q=is%3Apr+is%3Aclosed
95
96
  [🧮prs-c-img]: https://img.shields.io/github/issues-pr-closed/pboling/version_gem
96
- [📗next]: https://github.com/pboling/version_gem/milestone/1
97
- [📗next-img]: https://img.shields.io/github/milestones/progress/pboling/version_gem/1?label=Next%20Version
98
97
 
99
98
  <!-- 3️⃣ maintanence & linting -->
100
99
  [⛳cclim-maint]: https://codeclimate.com/github/pboling/version_gem/maintainability
@@ -103,28 +102,24 @@ The link tokens in the following sections should be kept ordered by the row and
103
102
  [🖇triage-help-img]: https://www.codetriage.com/pboling/version_gem/badges/users.svg
104
103
  [🏘depfu♻️]: https://depfu.com/github/pboling/version_gem?project_id=35803
105
104
  [🏘depfu-img♻️]: https://badges.depfu.com/badges/5d8943de6cfdf1ee048ad6d907f3e35b/count.svg
106
- [🚎contributors]: https://github.com/pboling/version_gem/graphs/contributors
105
+ [🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
107
106
  [🚎contributors-img]: https://img.shields.io/github/contributors-anon/pboling/version_gem
108
- [🖐style-wf]: https://github.com/pboling/version_gem/actions/workflows/style.yml
109
- [🖐style-wf-img]: https://github.com/pboling/version_gem/actions/workflows/style.yml/badge.svg
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
110
109
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
111
110
  [🧮kloc-img]: https://img.shields.io/tokei/lines/github.com/pboling/version_gem
112
111
 
113
112
  <!-- 4️⃣ testing -->
114
- [⛳iss-o]: https://github.com/pboling/version_gem/issues
115
- [⛳iss-o-img]: https://img.shields.io/github/issues-raw/pboling/version_gem
116
- [🖇iss-c]: https://github.com/pboling/version_gem/issues?q=is%3Aissue+is%3Aclosed
117
- [🖇iss-c-img]: https://img.shields.io/github/issues-closed-raw/pboling/version_gem
118
- [🏘sup-wf]: https://github.com/pboling/version_gem/actions/workflows/supported.yml
119
- [🏘sup-wf-img]: https://github.com/pboling/version_gem/actions/workflows/supported.yml/badge.svg
120
- [🚎heads-wf]: https://github.com/pboling/version_gem/actions/workflows/heads.yml
121
- [🚎heads-wf-img]: https://github.com/pboling/version_gem/actions/workflows/heads.yml/badge.svg
122
- [🖐uns-wf]: https://github.com/pboling/version_gem/actions/workflows/unsupported.yml
123
- [🖐uns-wf-img]: https://github.com/pboling/version_gem/actions/workflows/unsupported.yml/badge.svg
124
- [🧮mac-wf]: https://github.com/pboling/version_gem/actions/workflows/macos.yml
125
- [🧮mac-wf-img]: https://github.com/pboling/version_gem/actions/workflows/macos.yml/badge.svg
126
- [📗win-wf]: https://github.com/pboling/version_gem/actions/workflows/windows.yml
127
- [📗win-wf-img]: https://github.com/pboling/version_gem/actions/workflows/windows.yml/badge.svg
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
128
123
 
129
124
  <!-- 5️⃣ coverage & security -->
130
125
  [⛳cclim-cov]: https://codeclimate.com/github/pboling/version_gem/test_coverage
@@ -133,23 +128,21 @@ The link tokens in the following sections should be kept ordered by the row and
133
128
  [🖇codecov]: https://codecov.io/gh/pboling/version_gem
134
129
  [🏘coveralls]: https://coveralls.io/github/pboling/version_gem?branch=main
135
130
  [🏘coveralls-img]: https://coveralls.io/repos/github/pboling/version_gem/badge.svg?branch=main
136
- [🚎sec-pol]: https://github.com/pboling/version_gem/blob/main/SECURITY.md
131
+ [🚎sec-pol]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
137
132
  [🚎sec-pol-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
138
133
  [🖐codeQL]: https://github.com/pboling/version_gem/security/code-scanning
139
- [🖐codeQL-img]: https://github.com/pboling/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
140
- [🧮cov-wf]: https://github.com/pboling/version_gem/actions/workflows/coverage.yml
141
- [🧮cov-wf-img]: https://github.com/pboling/version_gem/actions/workflows/coverage.yml/badge.svg
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
142
137
 
143
138
  <!-- 6️⃣ resources -->
144
- [⛳gh-discussions]: https://github.com/pboling/version_gem/discussions
145
- [⛳gh-discussions-img]: https://img.shields.io/github/discussions/pboling/version_gem
146
139
  [🖇codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
147
140
  [🖇codementor-img]: https://cdn.codementor.io/badges/get_help_github.svg
148
- [🏘chat]: https://gitter.im/pboling/version_gem
149
- [🏘chat-img]: https://img.shields.io/gitter/room/pboling/version_gem.svg
141
+ [🏘chat]: https://gitter.im/oauth-xx/version_gem
142
+ [🏘chat-img]: https://img.shields.io/gitter/room/oauth-xx/version_gem.svg
150
143
  [🚎blog]: http://www.railsbling.com/tags/version_gem/
151
144
  [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
152
- [🖐wiki]: https://github.com/pboling/version_gem/wiki
145
+ [🖐wiki]: https://gitlab.com/oauth-xx/version_gem/-/wikis/home
153
146
  [🖐wiki-img]: https://img.shields.io/badge/wiki-examples-brightgreen.svg?style=flat
154
147
 
155
148
  <!-- 7️⃣ spread 💖 -->
@@ -228,6 +221,32 @@ MyLib::Version.to_h # => { major: 0, minor: 1, patch: 0, pre: "" }
228
221
 
229
222
  Your `version.rb` file now abides the Ruby convention of directory / path matching the namespace / class!
230
223
 
224
+ #### Query Ruby Version (as of version 1.2.0)
225
+
226
+ In Continuous Integration environments for libraries that run against many versions of Ruby,
227
+ I often need to configure things discretely per Ruby version, and doing so forced me to repeat
228
+ a significant amount of boilerplate code across each project.
229
+
230
+ Thus `VersionGem::Ruby` was born. It has the two optimized methods I always need:
231
+
232
+ ```ruby
233
+ engine = 'ruby'
234
+ version = "2.7.7"
235
+ gte_minimum_version?(version, engine) # Is the current version of Ruby greater than or equal to some minimum?
236
+
237
+ major = 3
238
+ minor = 2
239
+ actual_minor_version?(major, minor, engine) # Is the current version of Ruby precisely a specific minor version of Ruby?
240
+ ```
241
+
242
+ `Version::Ruby` is *not loaded* by default. If you want to use it, you must require it as:
243
+ ```ruby
244
+ require "version_gem/ruby"
245
+ ```
246
+
247
+ Normally I do this in my `spec/spec_helper.rb`, and/or `.simplecov` files.
248
+ Occasionally in my `Rakefile`.
249
+
231
250
  ### Caveat
232
251
 
233
252
  This design keeps your `version.rb` file compatible with the way `gemspec` files use them.
@@ -277,7 +296,7 @@ See [CONTRIBUTING.md][contributing]
277
296
 
278
297
  ## Contributors
279
298
 
280
- [![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)]("https://github.com/pboling/version_gem/graphs/contributors")
299
+ [![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)]("https://gitlab.com/oauth-xx/version_gem/-/graphs/main")
281
300
 
282
301
  Made with [contributors-img](https://contrib.rocks).
283
302
 
@@ -287,15 +306,15 @@ The gem is available as open source under the terms of
287
306
  the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
288
307
  See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
289
308
 
290
- * Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
309
+ * Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
291
310
 
292
311
  ## Code of Conduct
293
312
 
294
- Everyone interacting in the VersionGem project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/pboling/version_gem/blob/main/CODE_OF_CONDUCT.md).
313
+ 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).
295
314
 
296
315
  ## Versioning
297
316
 
298
- This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
317
+ This library aims to adhere to [Semantic Versioning 2.0.0][🧮semver]. Violations of this scheme should be reported as
299
318
  bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
300
319
  immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
301
320
  major versions.
@@ -311,24 +330,20 @@ spec.add_dependency "version_gem", "~> 1.1"
311
330
 
312
331
  ## Security
313
332
 
314
- See [SECURITY.md](https://github.com/pboling/version_gem/blob/main/SECURITY.md).
333
+ See [SECURITY.md](https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md).
315
334
 
316
335
  [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
317
336
 
318
- [gh_discussions]: https://github.com/pboling/version_gem/discussions
319
-
320
- [conduct]: https://github.com/pboling/version_gem/blob/main/CODE_OF_CONDUCT.md
337
+ [conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
321
338
 
322
- [contributing]: https://github.com/pboling/version_gem/blob/main/CONTRIBUTING.md
339
+ [contributing]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CONTRIBUTING.md
323
340
 
324
- [security]: https://github.com/pboling/version_gem/blob/main/SECURITY.md
341
+ [security]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md
325
342
 
326
- [license]: https://github.com/pboling/version_gem/blob/main/LICENSE.txt
343
+ [license]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/LICENSE.txt
327
344
 
328
345
  [license-ref]: https://opensource.org/licenses/MIT
329
346
 
330
- [semver]: http://semver.org/
331
-
332
347
  [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
333
348
 
334
349
  [aboutme]: https://about.me/peter.boling
@@ -341,15 +356,11 @@ See [SECURITY.md](https://github.com/pboling/version_gem/blob/main/SECURITY.md).
341
356
 
342
357
  [tweetme]: http://twitter.com/galtzo
343
358
 
344
- [politicme]: https://nationalprogressiveparty.org
345
-
346
- [documentation]: https://rubydoc.info/github/pboling/version_gem/main
359
+ [source]: https://gitlab.com/oauth-xx/version_gem/
347
360
 
348
- [source]: https://github.com/pboling/version_gem/
361
+ [actions]: https://github.com/oauth-xx/version_gem/actions
349
362
 
350
- [actions]: https://github.com/pboling/version_gem/actions
351
-
352
- [issues]: https://github.com/pboling/version_gem/issues
363
+ [issues]: https://gitlab.com/oauth-xx/version_gem/-/issues
353
364
 
354
365
  [climate_maintainability]: https://codeclimate.com/github/pboling/version_gem/maintainability
355
366
 
@@ -363,8 +374,6 @@ See [SECURITY.md](https://github.com/pboling/version_gem/blob/main/SECURITY.md).
363
374
 
364
375
  [rubygems]: https://rubygems.org/gems/version_gem
365
376
 
366
- [chat]: https://gitter.im/pboling/version_gem?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
367
-
368
377
  [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
369
378
 
370
379
  [liberapay_donate]: https://liberapay.com/pboling/donate
@@ -0,0 +1,18 @@
1
+ module VersionGem
2
+ # Helpers for library CI integration against many different versions of Ruby
3
+ module Ruby
4
+ RUBY_VER = ::Gem::Version.new(RUBY_VERSION)
5
+
6
+ def gte_minimum_version?(version, engine = 'ruby')
7
+ RUBY_VER >= ::Gem::Version.new(version) && ::RUBY_ENGINE == engine
8
+ end
9
+ module_function :gte_minimum_version?
10
+
11
+ def actual_minor_version?(major, minor, engine = 'ruby')
12
+ major.to_i == RUBY_VER.segments[0] &&
13
+ minor.to_i == RUBY_VER.segments[1] &&
14
+ ::RUBY_ENGINE == engine
15
+ end
16
+ module_function :actual_minor_version?
17
+ end
18
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VersionGem
4
4
  module Version
5
- VERSION = '1.1.1'.freeze
5
+ VERSION = '1.1.2'.freeze
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,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: version_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
@@ -36,7 +36,7 @@ cert_chain:
36
36
  gwGrEXGQGDZ0NIgBcmvMOqlXjkGQwQvugKycJ024z89+fz2332vdZIKTrSxJrXGk
37
37
  4/bR9A==
38
38
  -----END CERTIFICATE-----
39
- date: 2022-09-19 00:00:00.000000000 Z
39
+ date: 2023-03-17 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-block_is_expected
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -147,21 +161,22 @@ files:
147
161
  - lib/version_gem/basic.rb
148
162
  - lib/version_gem/error.rb
149
163
  - lib/version_gem/rspec.rb
164
+ - lib/version_gem/ruby.rb
150
165
  - lib/version_gem/version.rb
151
166
  homepage: https://gitlab.com/oauth-xx/version_gem
152
167
  licenses:
153
168
  - MIT
154
169
  metadata:
155
170
  homepage_uri: https://gitlab.com/oauth-xx/version_gem
156
- source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.1
157
- changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.1/CHANGELOG.md
171
+ source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.2
172
+ changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.2/CHANGELOG.md
158
173
  bug_tracker_uri: https://gitlab.com/oauth-xx/version_gem/-/issues
159
- documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.1
174
+ documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.2
160
175
  wiki_uri: https://gitlab.com/oauth-xx/version_gem/-/wiki
161
176
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
162
177
  funding_uri: https://liberapay.com/pboling
163
178
  rubygems_mfa_required: 'true'
164
- post_install_message:
179
+ post_install_message:
165
180
  rdoc_options: []
166
181
  require_paths:
167
182
  - lib
@@ -176,8 +191,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
191
  - !ruby/object:Gem::Version
177
192
  version: '0'
178
193
  requirements: []
179
- rubygems_version: 3.3.20
180
- signing_key:
194
+ rubygems_version: 3.4.8
195
+ signing_key:
181
196
  specification_version: 4
182
197
  summary: Enhance your VERSION! Sugar for Version modules.
183
198
  test_files: []
metadata.gz.sig CHANGED
Binary file