version_gem 1.1.1 → 1.1.3
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +29 -1
- data/CONTRIBUTING.md +27 -12
- data/LICENSE.txt +1 -1
- data/README.md +151 -117
- data/lib/version_gem/api.rb +3 -2
- data/lib/version_gem/basic.rb +7 -5
- data/lib/version_gem/rspec.rb +18 -18
- data/lib/version_gem/ruby.rb +18 -0
- data/lib/version_gem/version.rb +1 -1
- data/lib/version_gem.rb +3 -2
- data.tar.gz.sig +0 -0
- metadata +24 -57
- metadata.gz.sig +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c7542245fe84d4314202cd4ea1347fdaefce4cdc256fc7216705c90561e0a07f
|
|
4
|
+
data.tar.gz: 8864b667e84866e2d4365b7e2105dbb4e6be10bf64b08547afc357bb1e9a7f96
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 12ece5174289be925d3401789beee24d3ecee4438595fa453d51b57af5d44ffa9edf80cb313fd5c96f1c3f969d0af00a360ce723394d80a33e02c5a6e1064538
|
|
7
|
+
data.tar.gz: ddf738a490b738f42a89d060fa76c0c186a462f0edda7cc970b20e1e62cb918e7e8db06c18b805f31f9933c8c734b9ddebc863481c3ced59e8e4e99092e9d678
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,30 @@ 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.3] 2023-06-05 ([tag][1.1.3t])
|
|
14
|
+
### Added
|
|
15
|
+
- More test coverage (now 100% 🎉) (@pboling)
|
|
16
|
+
- Improved documentation (now 77% 🎉) (@pboling)
|
|
17
|
+
- Gemfile context pattern (@pboling)
|
|
18
|
+
- Improved linting (via rubocop-lts) (@pboling)
|
|
19
|
+
- More robust GHA config (@pboling)
|
|
20
|
+
- (dev) Dependencies (@pboling)
|
|
21
|
+
- yard-junk
|
|
22
|
+
- redcarpet
|
|
23
|
+
- pry, IRB alternative
|
|
24
|
+
- pry-suite
|
|
25
|
+
- debase, for IDE debugging
|
|
26
|
+
- (dev) Rake task for rubocop_gradual (@pboling)
|
|
27
|
+
### Fixed
|
|
28
|
+
- (dev) `yard` documentation task (@pboling)
|
|
29
|
+
|
|
30
|
+
## [1.1.2] - 2023-03-17 ([tag][1.1.2t])
|
|
31
|
+
### Added
|
|
32
|
+
- `VersionGem::Ruby` to help library CI integration against many different versions of Ruby (@pboling)
|
|
33
|
+
- Experimental, optional, require (not loaded by default, which is why this can be in a patch)
|
|
34
|
+
- Spec coverage is now 100%, lines and branches, including the fabled `version.rb` (@pboling)
|
|
35
|
+
- Full RBS Signatures (@pboling)
|
|
36
|
+
|
|
13
37
|
## [1.1.1] - 2022-09-19 ([tag][1.1.1t])
|
|
14
38
|
### Added
|
|
15
39
|
- Alternatives section to README.md (@pboling)
|
|
@@ -42,7 +66,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
42
66
|
### Added
|
|
43
67
|
- Initial release, with basic version parsing API (@pboling)
|
|
44
68
|
|
|
45
|
-
[Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.
|
|
69
|
+
[Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.3...HEAD
|
|
70
|
+
[1.1.3]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.2...v1.1.3
|
|
71
|
+
[1.1.3t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.3
|
|
72
|
+
[1.1.2]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...v1.1.2
|
|
73
|
+
[1.1.2t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.2
|
|
46
74
|
[1.1.1]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.0...v1.1.1
|
|
47
75
|
[1.1.1t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.1
|
|
48
76
|
[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
|
|
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
|
|
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
|
-
##
|
|
10
|
-
|
|
11
|
-
[][contributors]
|
|
11
|
+
## Release
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
To release a new version:
|
|
14
14
|
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
28
|
+
## Contributors
|
|
20
29
|
|
|
21
|
-
|
|
30
|
+
See: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors]
|
|
22
31
|
|
|
23
|
-
[comment]: <> (Following links are used by README, CONTRIBUTING
|
|
32
|
+
[comment]: <> (Following links are used by README, CONTRIBUTING)
|
|
24
33
|
|
|
25
|
-
[
|
|
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
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
|
-
[
|
|
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://
|
|
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 [
|
|
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,15 +58,15 @@ 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
|
|
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-
|
|
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 | [![
|
|
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 | [![
|
|
69
|
-
| 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme]
|
|
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
70
|
|
|
71
71
|
<!--
|
|
72
72
|
The link tokens in the following sections should be kept ordered by the row and badge numbering scheme
|
|
@@ -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/
|
|
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-
|
|
91
|
-
[🚎src-
|
|
92
|
-
[🖐prs-o]: https://
|
|
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://
|
|
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/
|
|
109
|
-
[🖐style-wf-img]: https://github.com/
|
|
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
|
-
[
|
|
115
|
-
[
|
|
116
|
-
[
|
|
117
|
-
[
|
|
118
|
-
[
|
|
119
|
-
[
|
|
120
|
-
[
|
|
121
|
-
[
|
|
122
|
-
[
|
|
123
|
-
[
|
|
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://
|
|
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/
|
|
140
|
-
[🧮cov-wf]: https://github.com/
|
|
141
|
-
[🧮cov-wf-img]: https://github.com/
|
|
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/
|
|
149
|
-
[🏘chat-img]: https://img.shields.io/gitter/room/
|
|
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://
|
|
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,75 @@ 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
|
+
### Zietwerk
|
|
225
|
+
|
|
226
|
+
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.
|
|
228
|
+
RubyGems using this "bad is actually good" pattern are encouraged to use `Zeitwerk.for_gem`.
|
|
229
|
+
|
|
230
|
+
**Do not do that ^** if you use this gem.
|
|
231
|
+
|
|
232
|
+
#### Simple Zeitwerk Example
|
|
233
|
+
|
|
234
|
+
Create a gem like this (keeping with the `MyLib` theme):
|
|
235
|
+
|
|
236
|
+
```shell
|
|
237
|
+
bundle gem my_lib
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Then following the usage instructions above, you edit your primary namespace file @ `lib/my_lib.rb`,
|
|
241
|
+
but inject the Zeitwerk loader.
|
|
242
|
+
|
|
243
|
+
```ruby
|
|
244
|
+
# frozen_string_literal: true
|
|
245
|
+
|
|
246
|
+
require_relative "my_lib/version"
|
|
247
|
+
|
|
248
|
+
module MyLib
|
|
249
|
+
class Error < StandardError; end
|
|
250
|
+
# Your code goes here...
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
loader = Zeitwerk::Loader.new
|
|
254
|
+
loader.tag = File.basename(__FILE__, ".rb")
|
|
255
|
+
loader.push_dir("lib/my_lib", namespace: MyLib)
|
|
256
|
+
loader.setup # ready!
|
|
257
|
+
loader.eager_load(force: true) # optional!
|
|
258
|
+
|
|
259
|
+
MyLib::Version.class_eval do
|
|
260
|
+
extend VersionGem::Basic
|
|
261
|
+
end
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
#### Complex Zeitwerk Example
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
#### Query Ruby Version (as of version 1.2.0)
|
|
268
|
+
|
|
269
|
+
In Continuous Integration environments for libraries that run against many versions of Ruby,
|
|
270
|
+
I often need to configure things discretely per Ruby version, and doing so forced me to repeat
|
|
271
|
+
a significant amount of boilerplate code across each project.
|
|
272
|
+
|
|
273
|
+
Thus `VersionGem::Ruby` was born. It has the two optimized methods I always need:
|
|
274
|
+
|
|
275
|
+
```ruby
|
|
276
|
+
engine = "ruby"
|
|
277
|
+
version = "2.7.7"
|
|
278
|
+
gte_minimum_version?(version, engine) # Is the current version of Ruby greater than or equal to some minimum?
|
|
279
|
+
|
|
280
|
+
major = 3
|
|
281
|
+
minor = 2
|
|
282
|
+
actual_minor_version?(major, minor, engine) # Is the current version of Ruby precisely a specific minor version of Ruby?
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
`Version::Ruby` is *not loaded* by default. If you want to use it, you must require it as:
|
|
286
|
+
```ruby
|
|
287
|
+
require "version_gem/ruby"
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Normally I do this in my `spec/spec_helper.rb`, and/or `.simplecov` files.
|
|
291
|
+
Occasionally in my `Rakefile`.
|
|
292
|
+
|
|
231
293
|
### Caveat
|
|
232
294
|
|
|
233
295
|
This design keeps your `version.rb` file compatible with the way `gemspec` files use them.
|
|
@@ -238,29 +300,29 @@ The enhancement from this gem is only available at runtime.
|
|
|
238
300
|
|
|
239
301
|
In `spec_helper.rb`:
|
|
240
302
|
```ruby
|
|
241
|
-
require
|
|
303
|
+
require "version_gem/rspec"
|
|
242
304
|
```
|
|
243
305
|
|
|
244
306
|
Then you can write a test like:
|
|
245
307
|
|
|
246
308
|
```ruby
|
|
247
|
-
RSpec.describe
|
|
248
|
-
it_behaves_like
|
|
309
|
+
RSpec.describe(MyLib::Version) do
|
|
310
|
+
it_behaves_like "a Version module", described_class
|
|
249
311
|
end
|
|
250
312
|
|
|
251
313
|
# Or, if you want to write your own, here is the a la carte menu:
|
|
252
|
-
RSpec.describe
|
|
314
|
+
RSpec.describe(MyLib::Version) do
|
|
253
315
|
it "is a Version module" do
|
|
254
316
|
expect(described_class).is_a?(Module)
|
|
255
|
-
expect(described_class).to
|
|
256
|
-
expect(described_class).to
|
|
257
|
-
expect(described_class.to_s).to
|
|
258
|
-
expect(described_class).to
|
|
259
|
-
expect(described_class).to
|
|
260
|
-
expect(described_class).to
|
|
261
|
-
expect(described_class).to
|
|
262
|
-
expect(described_class.to_h.keys).to
|
|
263
|
-
expect(described_class.to_a).to
|
|
317
|
+
expect(described_class).to(have_version_constant)
|
|
318
|
+
expect(described_class).to(have_version_as_string)
|
|
319
|
+
expect(described_class.to_s).to(be_a(String))
|
|
320
|
+
expect(described_class).to(have_major_as_integer)
|
|
321
|
+
expect(described_class).to(have_minor_as_integer)
|
|
322
|
+
expect(described_class).to(have_patch_as_integer)
|
|
323
|
+
expect(described_class).to(have_pre_as_nil_or_string)
|
|
324
|
+
expect(described_class.to_h.keys).to(match_array(%i[major minor patch pre]))
|
|
325
|
+
expect(described_class.to_a).to(be_a(Array))
|
|
264
326
|
end
|
|
265
327
|
end
|
|
266
328
|
```
|
|
@@ -277,7 +339,7 @@ See [CONTRIBUTING.md][contributing]
|
|
|
277
339
|
|
|
278
340
|
## Contributors
|
|
279
341
|
|
|
280
|
-
[]("https://
|
|
342
|
+
[]("https://gitlab.com/oauth-xx/version_gem/-/graphs/main")
|
|
281
343
|
|
|
282
344
|
Made with [contributors-img](https://contrib.rocks).
|
|
283
345
|
|
|
@@ -287,15 +349,15 @@ The gem is available as open source under the terms of
|
|
|
287
349
|
the [MIT License][license] [][license-ref].
|
|
288
350
|
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
|
289
351
|
|
|
290
|
-
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
|
352
|
+
* Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
|
291
353
|
|
|
292
354
|
## Code of Conduct
|
|
293
355
|
|
|
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://
|
|
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).
|
|
295
357
|
|
|
296
358
|
## Versioning
|
|
297
359
|
|
|
298
|
-
This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
|
|
360
|
+
This library aims to adhere to [Semantic Versioning 2.0.0][🧮semver]. Violations of this scheme should be reported as
|
|
299
361
|
bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
|
|
300
362
|
immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
|
|
301
363
|
major versions.
|
|
@@ -306,67 +368,39 @@ the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
|
|
306
368
|
For example:
|
|
307
369
|
|
|
308
370
|
```ruby
|
|
309
|
-
spec.add_dependency
|
|
371
|
+
spec.add_dependency("version_gem", "~> 1.1")
|
|
310
372
|
```
|
|
311
373
|
|
|
312
374
|
## Security
|
|
313
375
|
|
|
314
|
-
See [SECURITY.md](https://
|
|
315
|
-
|
|
316
|
-
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
317
|
-
|
|
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
|
|
321
|
-
|
|
322
|
-
[contributing]: https://github.com/pboling/version_gem/blob/main/CONTRIBUTING.md
|
|
323
|
-
|
|
324
|
-
[security]: https://github.com/pboling/version_gem/blob/main/SECURITY.md
|
|
325
|
-
|
|
326
|
-
[license]: https://github.com/pboling/version_gem/blob/main/LICENSE.txt
|
|
327
|
-
|
|
328
|
-
[license-ref]: https://opensource.org/licenses/MIT
|
|
329
|
-
|
|
330
|
-
[semver]: http://semver.org/
|
|
331
|
-
|
|
332
|
-
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
|
376
|
+
See [SECURITY.md](https://gitlab.com/oauth-xx/version_gem/-/blob/main/SECURITY.md).
|
|
333
377
|
|
|
334
378
|
[aboutme]: https://about.me/peter.boling
|
|
335
|
-
|
|
379
|
+
[actions]: https://github.com/oauth-xx/version_gem/actions
|
|
336
380
|
[angelme]: https://angel.co/peter-boling
|
|
337
|
-
|
|
338
|
-
[coderme]:http://coderwall.com/pboling
|
|
339
|
-
|
|
340
|
-
[followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
|
341
|
-
|
|
342
|
-
[tweetme]: http://twitter.com/galtzo
|
|
343
|
-
|
|
344
|
-
[politicme]: https://nationalprogressiveparty.org
|
|
345
|
-
|
|
346
|
-
[documentation]: https://rubydoc.info/github/pboling/version_gem/main
|
|
347
|
-
|
|
348
|
-
[source]: https://github.com/pboling/version_gem/
|
|
349
|
-
|
|
350
|
-
[actions]: https://github.com/pboling/version_gem/actions
|
|
351
|
-
|
|
352
|
-
[issues]: https://github.com/pboling/version_gem/issues
|
|
353
|
-
|
|
354
|
-
[climate_maintainability]: https://codeclimate.com/github/pboling/version_gem/maintainability
|
|
355
|
-
|
|
356
|
-
[climate_coverage]: https://codeclimate.com/github/pboling/version_gem/test_coverage
|
|
357
|
-
|
|
358
|
-
[codecov_coverage]: https://codecov.io/gh/pboling/version_gem
|
|
359
|
-
|
|
360
|
-
[code_triage]: https://www.codetriage.com/pboling/version_gem
|
|
361
|
-
|
|
362
381
|
[blogpage]: http://www.railsbling.com/tags/version_gem/
|
|
363
|
-
|
|
364
|
-
[
|
|
365
|
-
|
|
366
|
-
[
|
|
367
|
-
|
|
368
|
-
[
|
|
369
|
-
|
|
370
|
-
[
|
|
371
|
-
|
|
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
|
|
372
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
|
|
401
|
+
[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
|
data/lib/version_gem/api.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
module VersionGem
|
|
2
|
+
# Public API of this library
|
|
2
3
|
module Api
|
|
3
4
|
# The version number as a string
|
|
4
5
|
#
|
|
@@ -43,7 +44,7 @@ module VersionGem
|
|
|
43
44
|
major: major,
|
|
44
45
|
minor: minor,
|
|
45
46
|
patch: patch,
|
|
46
|
-
pre: pre
|
|
47
|
+
pre: pre,
|
|
47
48
|
}
|
|
48
49
|
end
|
|
49
50
|
|
|
@@ -60,7 +61,7 @@ module VersionGem
|
|
|
60
61
|
#
|
|
61
62
|
# @return [Array<String>]
|
|
62
63
|
def _to_a
|
|
63
|
-
@_to_a = self::VERSION.split(
|
|
64
|
+
@_to_a = self::VERSION.split(".")
|
|
64
65
|
end
|
|
65
66
|
end
|
|
66
67
|
end
|
data/lib/version_gem/basic.rb
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative
|
|
4
|
-
require_relative
|
|
3
|
+
require_relative "error"
|
|
4
|
+
require_relative "api"
|
|
5
5
|
|
|
6
6
|
module VersionGem
|
|
7
7
|
# This is a very *basic* version parser. Others could be built based on this pattern!
|
|
8
8
|
module Basic
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
class << self
|
|
10
|
+
def extended(base)
|
|
11
|
+
raise Error, "VERSION must be defined before 'extend #{name}'" unless defined?(base::VERSION)
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
base.extend(Api)
|
|
14
|
+
end
|
|
13
15
|
end
|
|
14
16
|
end
|
|
15
17
|
end
|
data/lib/version_gem/rspec.rb
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
RSpec::Matchers.define
|
|
3
|
+
RSpec::Matchers.define(:have_version_constant) do
|
|
4
4
|
match do |version_mod|
|
|
5
5
|
version_mod.const_defined?(:VERSION, false)
|
|
6
6
|
end
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
RSpec::Matchers.define
|
|
9
|
+
RSpec::Matchers.define(:have_version_as_string) do
|
|
10
10
|
match do |version_mod|
|
|
11
11
|
!version_mod::VERSION.nil? && version_mod::VERSION.is_a?(String)
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
RSpec::Matchers.define
|
|
15
|
+
RSpec::Matchers.define(:have_major_as_integer) do
|
|
16
16
|
match do |version_mod|
|
|
17
17
|
version_mod.major.is_a?(Integer)
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
RSpec::Matchers.define
|
|
21
|
+
RSpec::Matchers.define(:have_minor_as_integer) do
|
|
22
22
|
match do |version_mod|
|
|
23
23
|
version_mod.minor.is_a?(Integer)
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
RSpec::Matchers.define
|
|
27
|
+
RSpec::Matchers.define(:have_patch_as_integer) do
|
|
28
28
|
match do |version_mod|
|
|
29
29
|
version_mod.patch.is_a?(Integer)
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
RSpec::Matchers.define
|
|
33
|
+
RSpec::Matchers.define(:have_pre_as_nil_or_string) do
|
|
34
34
|
match do |version_mod|
|
|
35
35
|
version_mod.pre.nil? || version_mod.pre.is_a?(String)
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
RSpec.shared_examples_for
|
|
40
|
-
it
|
|
41
|
-
aggregate_failures
|
|
39
|
+
RSpec.shared_examples_for("a Version module") do |version_mod|
|
|
40
|
+
it "is introspectable" do
|
|
41
|
+
aggregate_failures "introspectable api" do
|
|
42
42
|
expect(version_mod).is_a?(Module)
|
|
43
|
-
expect(version_mod).to
|
|
44
|
-
expect(version_mod).to
|
|
45
|
-
expect(version_mod.to_s).to
|
|
46
|
-
expect(version_mod).to
|
|
47
|
-
expect(version_mod).to
|
|
48
|
-
expect(version_mod).to
|
|
49
|
-
expect(version_mod).to
|
|
50
|
-
expect(version_mod.to_h.keys).to
|
|
51
|
-
expect(version_mod.to_a).to
|
|
43
|
+
expect(version_mod).to(have_version_constant)
|
|
44
|
+
expect(version_mod).to(have_version_as_string)
|
|
45
|
+
expect(version_mod.to_s).to(be_a(String))
|
|
46
|
+
expect(version_mod).to(have_major_as_integer)
|
|
47
|
+
expect(version_mod).to(have_minor_as_integer)
|
|
48
|
+
expect(version_mod).to(have_patch_as_integer)
|
|
49
|
+
expect(version_mod).to(have_pre_as_nil_or_string)
|
|
50
|
+
expect(version_mod.to_h.keys).to(match_array(%i[major minor patch pre]))
|
|
51
|
+
expect(version_mod.to_a).to(be_a(Array))
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
end
|
|
@@ -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
|
data/lib/version_gem/version.rb
CHANGED
data/lib/version_gem.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: version_gem
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Boling
|
|
@@ -36,98 +36,64 @@ cert_chain:
|
|
|
36
36
|
gwGrEXGQGDZ0NIgBcmvMOqlXjkGQwQvugKycJ024z89+fz2332vdZIKTrSxJrXGk
|
|
37
37
|
4/bR9A==
|
|
38
38
|
-----END CERTIFICATE-----
|
|
39
|
-
date:
|
|
39
|
+
date: 2023-06-05 00:00:00.000000000 Z
|
|
40
40
|
dependencies:
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rake
|
|
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'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: pry
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
45
|
+
- - "~>"
|
|
74
46
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
47
|
+
version: '3.12'
|
|
76
48
|
type: :development
|
|
77
49
|
prerelease: false
|
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
51
|
requirements:
|
|
80
|
-
- - "
|
|
52
|
+
- - "~>"
|
|
81
53
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
54
|
+
version: '3.12'
|
|
83
55
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
56
|
+
name: rspec-block_is_expected
|
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
|
86
58
|
requirements:
|
|
87
59
|
- - "~>"
|
|
88
60
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
90
|
-
- - ">="
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: 8.0.2
|
|
61
|
+
version: '1.0'
|
|
93
62
|
type: :development
|
|
94
63
|
prerelease: false
|
|
95
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
96
65
|
requirements:
|
|
97
66
|
- - "~>"
|
|
98
67
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: '
|
|
100
|
-
- - ">="
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: 8.0.2
|
|
68
|
+
version: '1.0'
|
|
103
69
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
70
|
+
name: rake
|
|
105
71
|
requirement: !ruby/object:Gem::Requirement
|
|
106
72
|
requirements:
|
|
107
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
108
74
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0'
|
|
75
|
+
version: '13.0'
|
|
110
76
|
type: :development
|
|
111
77
|
prerelease: false
|
|
112
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
79
|
requirements:
|
|
114
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
115
81
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '0'
|
|
82
|
+
version: '13.0'
|
|
117
83
|
- !ruby/object:Gem::Dependency
|
|
118
|
-
name:
|
|
84
|
+
name: pry
|
|
119
85
|
requirement: !ruby/object:Gem::Requirement
|
|
120
86
|
requirements:
|
|
121
|
-
- - "
|
|
87
|
+
- - "~>"
|
|
122
88
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '0'
|
|
89
|
+
version: '0.14'
|
|
124
90
|
type: :development
|
|
125
91
|
prerelease: false
|
|
126
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
93
|
requirements:
|
|
128
|
-
- - "
|
|
94
|
+
- - "~>"
|
|
129
95
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '0'
|
|
96
|
+
version: '0.14'
|
|
131
97
|
description: Versions are good. Versions are cool. Versions will win.
|
|
132
98
|
email:
|
|
133
99
|
- peter.boling@gmail.com
|
|
@@ -147,16 +113,17 @@ files:
|
|
|
147
113
|
- lib/version_gem/basic.rb
|
|
148
114
|
- lib/version_gem/error.rb
|
|
149
115
|
- lib/version_gem/rspec.rb
|
|
116
|
+
- lib/version_gem/ruby.rb
|
|
150
117
|
- lib/version_gem/version.rb
|
|
151
118
|
homepage: https://gitlab.com/oauth-xx/version_gem
|
|
152
119
|
licenses:
|
|
153
120
|
- MIT
|
|
154
121
|
metadata:
|
|
155
122
|
homepage_uri: https://gitlab.com/oauth-xx/version_gem
|
|
156
|
-
source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.
|
|
157
|
-
changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.
|
|
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
|
|
158
125
|
bug_tracker_uri: https://gitlab.com/oauth-xx/version_gem/-/issues
|
|
159
|
-
documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.
|
|
126
|
+
documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.3
|
|
160
127
|
wiki_uri: https://gitlab.com/oauth-xx/version_gem/-/wiki
|
|
161
128
|
mailing_list_uri: https://groups.google.com/g/oauth-ruby
|
|
162
129
|
funding_uri: https://liberapay.com/pboling
|
|
@@ -176,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
176
143
|
- !ruby/object:Gem::Version
|
|
177
144
|
version: '0'
|
|
178
145
|
requirements: []
|
|
179
|
-
rubygems_version: 3.
|
|
146
|
+
rubygems_version: 3.4.10
|
|
180
147
|
signing_key:
|
|
181
148
|
specification_version: 4
|
|
182
149
|
summary: Enhance your VERSION! Sugar for Version modules.
|
metadata.gz.sig
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
_8�~r��{�B��B���#���A:Y��c����~r���b�D)��3���,u)���8D��-R-��D&8Yb�ȑN��.���E��B�0��<�p��*����70!")��3rL��;+�&w��w4X,>HJ�G�H�g鞜�<:t*��S?���X��:B��r�羔u�r4)jӠ��<������f�a9f�C���uڷA�ΡjSVA7�0�?u��E)�-F�rI`>U��O�G���>�NՀcO�DX�窧E�U
|
|
2
|
+
�á�d�Ֆ-A�͇7&����C�G��X��/;�+O}�Q^�(�IA��h��4Em����JÅt1��L$<.I��X_��7��0D�|�g:�6�odL�8k��7��e�4~¿�x
|
|
3
|
+
A4�lNAd��
|