version_gem 1.1.8 → 1.1.9

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.
data/REEK ADDED
File without changes
data/RUBOCOP.md ADDED
@@ -0,0 +1,71 @@
1
+ # RuboCop Usage Guide
2
+
3
+ ## Overview
4
+
5
+ A tale of two RuboCop plugin gems.
6
+
7
+ ### RuboCop Gradual
8
+
9
+ This project uses `rubocop_gradual` instead of vanilla RuboCop for code style checking. The `rubocop_gradual` tool allows for gradual adoption of RuboCop rules by tracking violations in a lock file.
10
+
11
+ ### RuboCop LTS
12
+
13
+ This project uses `rubocop-lts` to ensure, on a best-effort basis, compatibility with Ruby >= 1.9.2.
14
+ RuboCop rules are meticulously configured by the `rubocop-lts` family of gems to ensure that a project is compatible with a specific version of Ruby. See: https://rubocop-lts.gitlab.io for more.
15
+
16
+ ## Checking RuboCop Violations
17
+
18
+ To check for RuboCop violations in this project, always use:
19
+
20
+ ```bash
21
+ bundle exec rake rubocop_gradual:check
22
+ ```
23
+
24
+ **Do not use** the standard RuboCop commands like:
25
+ - `bundle exec rubocop`
26
+ - `rubocop`
27
+
28
+ ## Understanding the Lock File
29
+
30
+ The `.rubocop_gradual.lock` file tracks all current RuboCop violations in the project. This allows the team to:
31
+
32
+ 1. Prevent new violations while gradually fixing existing ones
33
+ 2. Track progress on code style improvements
34
+ 3. Ensure CI builds don't fail due to pre-existing violations
35
+
36
+ ## Common Commands
37
+
38
+ - **Check violations**
39
+ - `bundle exec rake rubocop_gradual`
40
+ - `bundle exec rake rubocop_gradual:check`
41
+ - **(Safe) Autocorrect violations, and update lockfile if no new violations**
42
+ - `bundle exec rake rubocop_gradual:autocorrect`
43
+ - **Force update the lock file (w/o autocorrect) to match violations present in code**
44
+ - `bundle exec rake rubocop_gradual:force_update`
45
+
46
+ ## Workflow
47
+
48
+ 1. Before submitting a PR, run `bundle exec rake rubocop_gradual:autocorrect`
49
+ a. or just the default `bundle exec rake`, as autocorrection is a pre-requisite of the default task.
50
+ 2. If there are new violations, either:
51
+ - Fix them in your code
52
+ - Run `bundle exec rake rubocop_gradual:force_update` to update the lock file (only for violations you can't fix immediately)
53
+ 3. Commit the updated `.rubocop_gradual.lock` file along with your changes
54
+
55
+ ## Never add inline RuboCop disables
56
+
57
+ Do not add inline `rubocop:disable` / `rubocop:enable` comments anywhere in the codebase (including specs, except when following the few existing `rubocop:disable` patterns for a rule already being disabled elsewhere in the code). We handle exceptions in two supported ways:
58
+
59
+ - Permanent/structural exceptions: prefer adjusting the RuboCop configuration (e.g., in `.rubocop.yml`) to exclude a rule for a path or file pattern when it makes sense project-wide.
60
+ - Temporary exceptions while improving code: record the current violations in `.rubocop_gradual.lock` via the gradual workflow:
61
+ - `bundle exec rake rubocop_gradual:autocorrect` (preferred; will autocorrect what it can and update the lock only if no new violations were introduced)
62
+ - If needed, `bundle exec rake rubocop_gradual:force_update` (as a last resort when you cannot fix the newly reported violations immediately)
63
+
64
+ In general, treat the rules as guidance to follow; fix violations rather than ignore them. For example, RSpec conventions in this project expect `described_class` to be used in specs that target a specific class under test.
65
+
66
+ ## Benefits of rubocop_gradual
67
+
68
+ - Allows incremental adoption of code style rules
69
+ - Prevents CI failures due to pre-existing violations
70
+ - Provides a clear record of code style debt
71
+ - Enables focused efforts on improving code quality over time
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VersionGem
4
4
  module Version
5
- VERSION = "1.1.8"
5
+ VERSION = "1.1.9"
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.
@@ -0,0 +1 @@
1
+ ALL_FORMATTERS: bool
data/sig/debug.rbs ADDED
@@ -0,0 +1 @@
1
+ DEBUG: bool
data/sig/debug_ide.rbs ADDED
@@ -0,0 +1 @@
1
+ DEBUG_IDE: bool
@@ -0,0 +1 @@
1
+ DEBUG_JRUBY: bool
data/sig/debugging.rbs ADDED
@@ -0,0 +1 @@
1
+ DEBUGGING: bool
@@ -0,0 +1 @@
1
+ RUN_COVERAGE: bool
@@ -0,0 +1,27 @@
1
+ module VersionGem
2
+ module Api
3
+ # Internal memoized version string segments
4
+ @_to_a: Array[String]
5
+
6
+ # Memoized components
7
+ @major: Integer
8
+ @minor: Integer
9
+ @patch: Integer
10
+ @pre: String?
11
+ @to_a: Array[Integer | String | nil]
12
+ @to_h: Hash[Symbol, (Integer | String | nil)]
13
+
14
+ # Public API
15
+ def to_s: () -> String
16
+ def major: () -> Integer
17
+ def minor: () -> Integer
18
+ def patch: () -> Integer
19
+ def pre: () -> String?
20
+ def to_a: () -> Array[Integer | String | nil]
21
+ def to_h: () -> Hash[Symbol, (Integer | String | nil)]
22
+
23
+ private
24
+
25
+ def _to_a: () -> Array[String]
26
+ end
27
+ end
@@ -0,0 +1,5 @@
1
+ module VersionGem
2
+ module Basic
3
+ def self.extended: () -> void
4
+ end
5
+ end
@@ -0,0 +1,26 @@
1
+ module VersionGem
2
+ module Epoch
3
+ EPOCH_SIZE: Integer
4
+
5
+ # Hook used when this module is extended
6
+ def self.extended: (untyped) -> void
7
+
8
+ module OverloadApiForEpoch
9
+ # The epoch component (derived)
10
+ def epoch: () -> Integer
11
+
12
+ # Override of Api#major returning the derived major component
13
+ def major: () -> Integer
14
+
15
+ # Hash representation including epoch
16
+ def to_h: () -> Hash[Symbol, (Integer | String | nil)]
17
+
18
+ # Array of components [epoch, major, minor, patch, pre]
19
+ def to_a: () -> Array[Integer | String | nil]
20
+
21
+ private
22
+
23
+ def _major: () -> Integer
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,4 @@
1
+ module VersionGem
2
+ class Error < ::RuntimeError
3
+ end
4
+ end
@@ -0,0 +1,11 @@
1
+ module VersionGem
2
+ module Ruby
3
+ RUBY_VER: ::Gem::Version
4
+
5
+ # Check if the current Ruby version is >= given version for the engine
6
+ def self.gte_minimum_version?: (String, ?String) -> bool
7
+
8
+ # Check if the current Ruby MAJOR.MINOR equals the given values for the engine
9
+ def self.actual_minor_version?: ((Integer | String), (Integer | String), ?String) -> bool
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module VersionGem
2
+ module Version
3
+ VERSION: String
4
+
5
+ # At runtime this module is extended with Basic via class_eval in lib/version_gem.rb
6
+ # Declare the intended extension so class methods are available in typing
7
+ extend VersionGem::Basic
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ module VersionGem
2
+ end
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.8
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -35,36 +35,42 @@ cert_chain:
35
35
  DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
36
36
  L9nRqA==
37
37
  -----END CERTIFICATE-----
38
- date: 2025-05-06 00:00:00.000000000 Z
38
+ date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
- name: rspec
41
+ name: kettle-dev
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '3.13'
46
+ version: '1.1'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.1.3
47
50
  type: :development
48
51
  prerelease: false
49
52
  version_requirements: !ruby/object:Gem::Requirement
50
53
  requirements:
51
54
  - - "~>"
52
55
  - !ruby/object:Gem::Version
53
- version: '3.13'
56
+ version: '1.1'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 1.1.3
54
60
  - !ruby/object:Gem::Dependency
55
- name: rspec-block_is_expected
61
+ name: bundler-audit
56
62
  requirement: !ruby/object:Gem::Requirement
57
63
  requirements:
58
64
  - - "~>"
59
65
  - !ruby/object:Gem::Version
60
- version: '1.0'
66
+ version: 0.9.2
61
67
  type: :development
62
68
  prerelease: false
63
69
  version_requirements: !ruby/object:Gem::Requirement
64
70
  requirements:
65
71
  - - "~>"
66
72
  - !ruby/object:Gem::Version
67
- version: '1.0'
73
+ version: 0.9.2
68
74
  - !ruby/object:Gem::Dependency
69
75
  name: rake
70
76
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +85,88 @@ dependencies:
79
85
  - - "~>"
80
86
  - !ruby/object:Gem::Version
81
87
  version: '13.0'
88
+ - !ruby/object:Gem::Dependency
89
+ name: require_bench
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.0'
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 1.0.4
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1.0'
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 1.0.4
108
+ - !ruby/object:Gem::Dependency
109
+ name: appraisal2
110
+ requirement: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - "~>"
113
+ - !ruby/object:Gem::Version
114
+ version: '3.0'
115
+ type: :development
116
+ prerelease: false
117
+ version_requirements: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '3.0'
122
+ - !ruby/object:Gem::Dependency
123
+ name: kettle-test
124
+ requirement: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '1.0'
129
+ type: :development
130
+ prerelease: false
131
+ version_requirements: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '1.0'
136
+ - !ruby/object:Gem::Dependency
137
+ name: rspec-pending_for
138
+ requirement: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - "~>"
141
+ - !ruby/object:Gem::Version
142
+ version: '0.0'
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 0.0.17
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.0'
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 0.0.17
156
+ - !ruby/object:Gem::Dependency
157
+ name: ruby-progressbar
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: '1.13'
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '1.13'
82
170
  - !ruby/object:Gem::Dependency
83
171
  name: stone_checksums
84
172
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +174,9 @@ dependencies:
86
174
  - - "~>"
87
175
  - !ruby/object:Gem::Version
88
176
  version: '1.0'
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 1.0.2
89
180
  type: :development
90
181
  prerelease: false
91
182
  version_requirements: !ruby/object:Gem::Requirement
@@ -93,25 +184,56 @@ dependencies:
93
184
  - - "~>"
94
185
  - !ruby/object:Gem::Version
95
186
  version: '1.0'
96
- description: Versions are good. Versions are cool. Versions will win.
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: 1.0.2
190
+ - !ruby/object:Gem::Dependency
191
+ name: gitmoji-regex
192
+ requirement: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '1.0'
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: 1.0.3
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '1.0'
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: 1.0.3
210
+ description: "\U0001F516 Versions are good. Versions are cool. Versions will win."
97
211
  email:
98
- - peter.boling@gmail.com
212
+ - floss@galtzo.com
99
213
  - oauth-ruby@googlegroups.com
100
214
  executables: []
101
215
  extensions: []
102
216
  extra_rdoc_files:
103
217
  - CHANGELOG.md
218
+ - CITATION.cff
104
219
  - CODE_OF_CONDUCT.md
105
220
  - CONTRIBUTING.md
221
+ - FUNDING.md
106
222
  - LICENSE.txt
107
223
  - README.md
224
+ - REEK
225
+ - RUBOCOP.md
108
226
  - SECURITY.md
109
227
  files:
110
228
  - CHANGELOG.md
229
+ - CITATION.cff
111
230
  - CODE_OF_CONDUCT.md
112
231
  - CONTRIBUTING.md
232
+ - FUNDING.md
113
233
  - LICENSE.txt
114
234
  - README.md
235
+ - REEK
236
+ - RUBOCOP.md
115
237
  - SECURITY.md
116
238
  - lib/version_gem.rb
117
239
  - lib/version_gem/api.rb
@@ -121,24 +243,41 @@ files:
121
243
  - lib/version_gem/rspec.rb
122
244
  - lib/version_gem/ruby.rb
123
245
  - lib/version_gem/version.rb
124
- homepage: https://gitlab.com/oauth-xx/version_gem
246
+ - sig/all_formatters.rbs
247
+ - sig/debug.rbs
248
+ - sig/debug_ide.rbs
249
+ - sig/debug_jruby.rbs
250
+ - sig/debugging.rbs
251
+ - sig/run_coverage.rbs
252
+ - sig/version_gem.rbs
253
+ - sig/version_gem/api.rbs
254
+ - sig/version_gem/basic.rbs
255
+ - sig/version_gem/epoch.rbs
256
+ - sig/version_gem/error.rbs
257
+ - sig/version_gem/ruby.rbs
258
+ - sig/version_gem/version.rbs
259
+ homepage: https://github.com/ruby-oauth/version_gem
125
260
  licenses:
126
261
  - MIT
127
262
  metadata:
128
- homepage_uri: https://railsbling.com/tags/version_gem/
129
- source_code_uri: https://gitlab.com/oauth-xx/version_gem/-/tree/v1.1.8
130
- changelog_uri: https://gitlab.com/oauth-xx/version_gem/-/blob/v1.1.8/CHANGELOG.md
131
- bug_tracker_uri: https://gitlab.com/oauth-xx/version_gem/-/issues
132
- documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.8
133
- wiki_uri: https://gitlab.com/oauth-xx/version_gem/-/wiki
263
+ homepage_uri: https://version-gem.galtzo.com/
264
+ source_code_uri: https://github.com/ruby-oauth/version_gem/tree/v1.1.9
265
+ changelog_uri: https://github.com/ruby-oauth/version_gem/blob/v1.1.9/CHANGELOG.md
266
+ bug_tracker_uri: https://github.com/ruby-oauth/version_gem/issues
267
+ documentation_uri: https://www.rubydoc.info/gems/version_gem/1.1.9
268
+ funding_uri: https://github.com/sponsors/pboling
269
+ wiki_uri: https://github.com/ruby-oauth/version_gem/wiki
134
270
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
135
- funding_uri: https://liberapay.com/pboling
271
+ news_uri: https://www.railsbling.com/tags/version_gem
272
+ discord_uri: https://discord.gg/3qme4XHNKN
136
273
  rubygems_mfa_required: 'true'
137
274
  rdoc_options:
138
275
  - "--title"
139
- - version_gem - Enhance your VERSION! Sugar for Version modules.
276
+ - "version_gem - \U0001F516 Enhance your VERSION! Sugar for Version modules."
140
277
  - "--main"
141
278
  - README.md
279
+ - "--exclude"
280
+ - "^sig/"
142
281
  - "--line-numbers"
143
282
  - "--inline-source"
144
283
  - "--quiet"
@@ -155,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
294
  - !ruby/object:Gem::Version
156
295
  version: '0'
157
296
  requirements: []
158
- rubygems_version: 3.6.8
297
+ rubygems_version: 3.7.1
159
298
  specification_version: 4
160
- summary: Enhance your VERSION! Sugar for Version modules.
299
+ summary: "\U0001F516 Enhance your VERSION! Sugar for Version modules."
161
300
  test_files: []
metadata.gz.sig CHANGED
Binary file