rubocop-lts 7.0.1 → 8.0.0
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
- data/CHANGELOG.md +10 -46
- data/README.md +266 -31
- data/SECURITY.md +0 -11
- data/lib/rubocop/lts/version.rb +1 -1
- data/spec/config/rspec/rspec_core.rb +13 -0
- data/spec/rubocop/lts_spec.rb +7 -0
- data/spec/spec_helper.rb +7 -0
- metadata +17 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4874847e559f2751921bbdbe7cc59c78371787ba3cf92c4d6fb7740379de48f
|
4
|
+
data.tar.gz: bbb40b7a461bbff132cd1df57df5333f8ce5577e85397173db0ac3f2366a08f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45cc47e889f433f8b9310ecaa930c2651209875e7e47b20149dd2ae573b77e814e7b3d91c1d4c221e9325373163a861701850ff958bf33868c8b435f9319a8fd
|
7
|
+
data.tar.gz: 29758847f4bc8730ddaafff25135af79f123bf4921a86302430efe1e2c0fcbfd405b949fb75173470954ab4c758ca191f5d9a43275a1976e2febfd613f2f0127
|
data/CHANGELOG.md
CHANGED
@@ -13,27 +13,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
13
13
|
|
14
14
|
### Removed
|
15
15
|
|
16
|
-
## [
|
16
|
+
## [8.0.0] - 2022-05-23
|
17
17
|
### Added
|
18
|
-
-
|
18
|
+
- Initial even release supporting Ruby >= 2.2
|
19
19
|
|
20
20
|
## [7.0.0] - 2022-05-23
|
21
21
|
### Added
|
22
22
|
- Initial odd release supporting Ruby ~> 2.2
|
23
23
|
|
24
|
-
## [6.0.1] - 2022-06-08
|
25
|
-
### Added
|
26
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
27
|
-
- Improve, and dry up documentation
|
28
|
-
|
29
24
|
## [6.0.0] - 2022-05-23
|
30
25
|
### Added
|
31
26
|
- Initial even release supporting Ruby >= 2.1
|
32
27
|
|
33
|
-
## [5.0.2] - 2022-06-08
|
34
|
-
### Added
|
35
|
-
- Improve, and dry up documentation
|
36
|
-
|
37
28
|
## [5.0.1] - 2022-05-23
|
38
29
|
### Fixed
|
39
30
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -42,10 +33,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
42
33
|
### Added
|
43
34
|
- Initial odd release supporting Ruby ~> 2.1
|
44
35
|
|
45
|
-
## [4.0.3] - 2022-06-08
|
46
|
-
### Fixed
|
47
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
48
|
-
|
49
36
|
## [4.0.2] - 2022-05-23
|
50
37
|
### Fixed
|
51
38
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -59,10 +46,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
59
46
|
### Added
|
60
47
|
- Initial even release supporting Ruby >= 2.0
|
61
48
|
|
62
|
-
## [3.0.3] - 2022-06-08
|
63
|
-
### Added
|
64
|
-
- Improve, and dry up documentation
|
65
|
-
|
66
49
|
## [3.0.2] - 2022-05-23
|
67
50
|
### Fixed
|
68
51
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -76,14 +59,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
76
59
|
### Added
|
77
60
|
- Initial odd release supporting Ruby ~> 2.0
|
78
61
|
|
79
|
-
## [2.0.5] - 2022-06-08
|
80
|
-
### Added
|
81
|
-
- Improve, and dry up documentation
|
82
|
-
|
83
|
-
## [2.0.4] - 2022-06-08
|
84
|
-
### Fixed
|
85
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
86
|
-
|
87
62
|
## [2.0.3] - 2022-05-23
|
88
63
|
### Fixed
|
89
64
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -102,11 +77,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
102
77
|
### Added
|
103
78
|
- Initial even release supporting Ruby >= 1.9
|
104
79
|
|
105
|
-
## [1.0.4] - 2022-06-08
|
106
|
-
### Added
|
107
|
-
- Security Policy @ SECURITY.md
|
108
|
-
- Improve, and dry up documentation
|
109
|
-
|
110
80
|
## [1.0.3] - 2022-05-23
|
111
81
|
### Fixed
|
112
82
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -125,28 +95,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
125
95
|
### Added
|
126
96
|
- Initial odd release supporting Ruby ~> 1.9
|
127
97
|
|
128
|
-
[Unreleased]: https://github.com/rubocop-lts/rubocop-lts/compare/
|
129
|
-
[
|
130
|
-
[
|
131
|
-
[6.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.
|
132
|
-
[5.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.1...v5.0.2
|
98
|
+
[Unreleased]: https://github.com/rubocop-lts/rubocop-lts/compare/v8.0.0...HEAD
|
99
|
+
[8.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v7.0.0...v8.0.0
|
100
|
+
[7.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v6.0.0...v7.0.0
|
101
|
+
[6.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.1...v6.0.0
|
133
102
|
[5.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.0...v5.0.1
|
134
|
-
[5.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.
|
135
|
-
[4.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.2...v4.0.3
|
103
|
+
[5.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.2...v5.0.0
|
136
104
|
[4.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.1...v4.0.2
|
137
105
|
[4.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.0...v4.0.1
|
138
|
-
[4.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.
|
139
|
-
[3.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.2...v3.0.3
|
106
|
+
[4.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.2...v4.0.0
|
140
107
|
[3.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.1...v3.0.2
|
141
108
|
[3.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.0...v3.0.1
|
142
|
-
[3.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.
|
143
|
-
[2.0.5]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.4...v2.0.5
|
144
|
-
[2.0.4]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.3...v2.0.4
|
109
|
+
[3.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.3...v3.0.0
|
145
110
|
[2.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.2...v2.0.3
|
146
111
|
[2.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.1...v2.0.2
|
147
112
|
[2.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.0...v2.0.1
|
148
|
-
[2.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.
|
149
|
-
[1.0.4]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.3...v1.0.4
|
113
|
+
[2.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.3...v2.0.0
|
150
114
|
[1.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.2...v1.0.3
|
151
115
|
[1.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.1...v1.0.2
|
152
116
|
[1.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.0...v1.0.1
|
data/README.md
CHANGED
@@ -16,38 +16,149 @@
|
|
16
16
|
</a>
|
17
17
|
</p>
|
18
18
|
|
19
|
-
#
|
20
|
-
|
21
|
-
##
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|📄 [License](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#📄-license)
|
37
|
-
|⊕© [Copyright](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#©-copyright)
|
38
|
-
|🤝 [Code of Conduct](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#🤝-code-of-conduct)
|
39
|
-
|📌 [Versioning](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#📌-versioning)
|
40
|
-
|
41
|
-
[Why-Build-This]: https://github.com/rubocop-lts/.github/blob/main/profile/WHY_BUILD_THIS.md
|
42
|
-
[Convention-Over-Configuration]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md
|
43
|
-
[Even-Major-Release]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md#even-major-release
|
44
|
-
[Odd-Major-Release]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md#odd-major-release
|
45
|
-
[How-To-Upgrade-Ruby]: https://github.com/rubocop-lts/.github/blob/main/profile/HOW_TO_UPGRADE_RUBY.md
|
46
|
-
|
47
|
-
## 🌳 This Branch
|
19
|
+
# Rubocop LTS
|
20
|
+
|
21
|
+
## 🙋♀️ How often has RuboCop broken your build?
|
22
|
+
|
23
|
+
This is both good (literally its job) _and_ bad (when it's for the wrong reasons).
|
24
|
+
|
25
|
+
It's supposed to break the build when it finds violations.
|
26
|
+
It should not break the build due to incompatibility with your environment. RuboCop
|
27
|
+
doesn't [follow SemVer](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj), and occasionally it will unexpectedly break things.
|
28
|
+
|
29
|
+
## 🗿 Stable
|
30
|
+
|
31
|
+
All releases are stable releases. The major version you need depends on the supported version(s) of Ruby for your project.
|
32
|
+
|
33
|
+
Projects that support a single version of Ruby (like many closed-source applications) will use the [Odd releases][even-release].
|
34
|
+
|
35
|
+
Projects that support multiple versions of Ruby simultaneously (like many open-source applications and libraries) will use the [Even releases][even-release].
|
48
36
|
|
49
37
|
<!-- FIND VERSION -->
|
50
|
-
**This README is for the
|
38
|
+
**This README is for the even release of `rubocop-lts` supporting Ruby >= 2.2.0.**
|
39
|
+
|
40
|
+
[odd-release]: https://github.com/rubocop-lts/rubocop-lts#odd-major-release
|
41
|
+
[even-release]: https://github.com/rubocop-lts/rubocop-lts#even-major-release
|
42
|
+
|
43
|
+
## Version Conventions
|
44
|
+
|
45
|
+
### Odd Major Release
|
46
|
+
|
47
|
+
Versions like:
|
48
|
+
```ruby
|
49
|
+
"1.0.0"
|
50
|
+
"3.0.0"
|
51
|
+
"5.0.0"
|
52
|
+
# ... etc
|
53
|
+
```
|
54
|
+
Locked to a single minor version of Ruby, e.g. version 15.0 has a `required_ruby_version` of `['>= 2.6.0', '< 2.7']`, which will install only on `2.6.x` versions of Ruby.
|
55
|
+
|
56
|
+
#### Implementation
|
57
|
+
|
58
|
+
Intended for applications and libraries that only lint against a single Ruby version.
|
59
|
+
|
60
|
+
Odd versions should be attached to a project's trunk (e.g. the main branch), for long-term stability (ahem, _lts_, anyone?) of the style rules.
|
61
|
+
|
62
|
+
| Your Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
63
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
64
|
+
| `1.9.x` (`['>= 1.9.0', '< 2']`) | `gem "rubocop-lts", "~> 1.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
65
|
+
| `2.0.x` (`['>= 2.0.0', '< 2.1']`) | `gem "rubocop-lts", "~> 3.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
66
|
+
| `2.1.x` (`['>= 2.1.0', '< 2.2']`) | `gem "rubocop-lts", "~> 5.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
67
|
+
| `2.2.x` (`['>= 2.2.0', '< 2.3']`) | `gem "rubocop-lts", "~> 7.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
68
|
+
| `2.3.x` (`['>= 2.3.0', '< 2.4']`) | `gem "rubocop-lts", "~> 9.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
69
|
+
| `2.4.x` (`['>= 2.4.0', '< 2.5']`) | `gem "rubocop-lts", "~> 11.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
70
|
+
| `2.5.x` (`['>= 2.5.0', '< 2.6']`) | `gem "rubocop-lts", "~> 13.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
71
|
+
| `2.6.x` (`['>= 2.6.0', '< 2.7']`) | `gem "rubocop-lts", "~> 15.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
72
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.0']`) | `gem "rubocop-lts", "~> 17.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
73
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.1']`) | `gem "rubocop-lts", "~> 19.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
74
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 21.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
75
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 23.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
76
|
+
|
77
|
+
### Even Major Release
|
78
|
+
|
79
|
+
Versions like:
|
80
|
+
```ruby
|
81
|
+
"2.0.0"
|
82
|
+
"4.0.0"
|
83
|
+
"6.0.0"
|
84
|
+
# ... etc
|
85
|
+
```
|
86
|
+
Locked to the forward range of Rubies on which the gem can be installed (though rubocop may not execute on all),
|
87
|
+
e.g. version 16.0 has a `required_ruby_version` of `['>= 2.6.0', '< 3.2']` will install on any released version
|
88
|
+
of ruby from `2.6` on.
|
89
|
+
|
90
|
+
#### Implementation
|
91
|
+
|
92
|
+
Intended for applications and libraries that lint against a range of Ruby versions.
|
93
|
+
|
94
|
+
Even versions will help projects upgrade to newer Rubies while keeping the same underlying version of Rubocop version, so change can be introduced one step at a time.
|
95
|
+
|
96
|
+
| Minimum Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
97
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
98
|
+
| `1.9.x` (`['>= 1.9.0', '< 3.2']`) | `gem "rubocop-lts", "~> 2.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
99
|
+
| `2.0.x` (`['>= 2.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 4.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
100
|
+
| `2.1.x` (`['>= 2.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 6.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
101
|
+
| `2.2.x` (`['>= 2.2.0', '< 3.2']`) | `gem "rubocop-lts", "~> 8.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
102
|
+
| `2.3.x` (`['>= 2.3.0', '< 3.2']`) | `gem "rubocop-lts", "~> 10.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
103
|
+
| `2.4.x` (`['>= 2.4.0', '< 3.2']`) | `gem "rubocop-lts", "~> 12.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
104
|
+
| `2.5.x` (`['>= 2.5.0', '< 3.2']`) | `gem "rubocop-lts", "~> 14.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
105
|
+
| `2.6.x` (`['>= 2.6.0', '< 3.2']`) | `gem "rubocop-lts", "~> 16.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
106
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.2']`) | `gem "rubocop-lts", "~> 18.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
107
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 20.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
108
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 22.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
109
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 24.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
110
|
+
|
111
|
+
### All together now!
|
112
|
+
|
113
|
+
Upgrading a single step from odd to even will allow upgrading Ruby.
|
114
|
+
|
115
|
+
Upgrading a single step from even to odd will keep the same version of Ruby, and instead upgrade to the next RuboCop milestone.
|
116
|
+
|
117
|
+
Each major version will have a tracking branch named accordingly, [for development](https://github.com/rubocop-lts/rubocop-lts#git-branch-names).
|
118
|
+
|
119
|
+
### 🪢 How To Untie Gorgon's Knot
|
120
|
+
|
121
|
+
> NOTE: The ruby specific versions, e.g. `rubocop-ruby2_7`, can be used if you won't be upgrading ruby. Keep scrolling down for links to each of them.
|
122
|
+
|
123
|
+
How to upgrade a project from yesterday, to today.
|
124
|
+
|
125
|
+
1. Have good code coverage.
|
126
|
+
2. Upgrade one step at a time.
|
127
|
+
3. Re-run `bundle exec rubocop -a` in between each step.
|
128
|
+
4. Re-run `bundle exec rubocop --auto-gen-config` in between each step.
|
129
|
+
5. Commit and push to CI in between each step.
|
130
|
+
|
131
|
+
| Your Ruby | Your Gemfile | required_ruby_version | Your Gemfile.lock | Your .rubocop.yml |
|
132
|
+
|---------------|--------------------------------------|-------------------------|------------------------------|------------------------------------------------|
|
133
|
+
| `1.9.x` | `gem "rubocop-lts", "~> 1.0"` | `['>= 1.9.0', '< 2']` | [`rubocop-ruby1_9`][⛳️19-gh] | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
134
|
+
| ⬆️ to `2.0.x` | ⬆️ to `gem "rubocop-lts", "~> 2.0"` | `['>= 1.9.0', '< 3.2']` | no change | no change |
|
135
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 3.0"` | `['>= 2.0.0', '< 2.1']` | [`rubocop-ruby2_0`][⛳️20-gh] | no change |
|
136
|
+
| ⬆️ to `2.1.x` | ⬆️ to `gem "rubocop-lts", "~> 4.0"` | `['>= 2.0.0', '< 3.2']` | no change | no change |
|
137
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 5.0"` | `['>= 2.1.0', '< 2.2']` | [`rubocop-ruby2_1`][⛳️21-gh] | no change |
|
138
|
+
| ⬆️ to `2.2.x` | ⬆️ to `gem "rubocop-lts", "~> 6.0"` | `['>= 2.1.0', '< 3.2']` | no change | no change |
|
139
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 7.0"` | `['>= 2.2.0', '< 2.3']` | [`rubocop-ruby2_2`][⛳️22-gh] | no change |
|
140
|
+
| ⬆️ to `2.3.x` | ⬆️ to `gem "rubocop-lts", "~> 8.0"` | `['>= 2.2.0', '< 3.2']` | no change | no change |
|
141
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 9.0"` | `['>= 2.3.0', '< 2.4']` | [`rubocop-ruby2_3`][⛳️23-gh] | no change |
|
142
|
+
| ⬆️ to `2.4.x` | ⬆️ to `gem "rubocop-lts", "~> 10.0"` | `['>= 2.3.0', '< 3.2']` | no change | no change |
|
143
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 11.0"` | `['>= 2.4.0', '< 2.5']` | [`rubocop-ruby2_4`][⛳️24-gh] | no change |
|
144
|
+
| ⬆️ to `2.5.x` | ⬆️ to `gem "rubocop-lts", "~> 12.0"` | `['>= 2.4.0', '< 3.2']` | no change | no change |
|
145
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 13.0"` | `['>= 2.5.0', '< 2.6']` | [`rubocop-ruby2_5`][⛳️25-gh] | no change |
|
146
|
+
| ⬆️ to `2.6.x` | ⬆️ to `gem "rubocop-lts", "~> 14.0"` | `['>= 2.5.0', '< 3.2']` | no change | no change |
|
147
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 15.0"` | `['>= 2.6.0', '< 2.7']` | [`rubocop-ruby2_6`][⛳️26-gh] | no change |
|
148
|
+
| ⬆️ to `2.7.x` | ⬆️ to `gem "rubocop-lts", "~> 16.0"` | `['>= 2.6.0', '< 3.2']` | no change | no change |
|
149
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 17.0"` | `['>= 2.7.0', '< 3.0']` | [`rubocop-ruby2_7`][⛳️27-gh] | no change |
|
150
|
+
| ⬆️ to `3.0.x` | ⬆️ to `gem "rubocop-lts", "~> 18.0"` | `['>= 2.7.0', '< 3.2']` | no change | no change |
|
151
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 19.0"` | `['>= 3.0.0', '< 3.1']` | [`rubocop-ruby3_0`][⛳️30-gh] | no change |
|
152
|
+
| ⬆️ to `3.1.x` | ⬆️ to `gem "rubocop-lts", "~> 20.0"` | `['>= 3.0.0', '< 3.2']` | no change | no change |
|
153
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 21.0"` | `['>= 3.1.0', '< 3.2']` | [`rubocop-ruby3_1`][⛳️31-gh] | no change |
|
154
|
+
| ⬆️ to `3.2.x` | ⬆️ to `gem "rubocop-lts", "~> 22.0"` | `['>= 3.1.0', '< 3.2']` | no change | no change |
|
155
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 23.0"` | `['>= 3.2.0', '< 3.3']` | [`rubocop-ruby3_2`][⛳️32-gh] | no change |
|
156
|
+
| ⬆️ to `3.3.x` | ⬆️ to `gem "rubocop-lts", "~> 24.0"` | `['>= 3.2.0', '< 3.3']` | no change | no change |
|
157
|
+
|
158
|
+
> NOTE: `required_ruby_version` means the gem will install on a version of Ruby within the range.
|
159
|
+
> Versions of this gem intended for ancient Rubies may not execute on more modern Rubies, _despite installing_.
|
160
|
+
> As such you might consider limiting linting to only a single version of Ruby, the oldest one supported.
|
161
|
+
> Speaking of old rubies... 👇
|
51
162
|
|
52
163
|
### 📼 Supporting Ruby 1.8
|
53
164
|
|
@@ -91,13 +202,137 @@ Add this line to your application's Gemfile:
|
|
91
202
|
|
92
203
|
<!-- FIND VERSION -->
|
93
204
|
```ruby
|
94
|
-
gem 'rubocop-lts', '~>
|
205
|
+
gem 'rubocop-lts', '~> 8.0', require: false
|
95
206
|
```
|
96
207
|
|
97
208
|
And then execute:
|
98
209
|
|
99
210
|
$ bundle
|
100
211
|
|
212
|
+
## 🔧 Usage
|
213
|
+
|
214
|
+
The following is optional. We'll discuss why you might want to do this after you see what it does.
|
215
|
+
|
216
|
+
Add to the top of your project's `.rubocop.yml` configuration file:
|
217
|
+
|
218
|
+
```yaml
|
219
|
+
inherit_gem:
|
220
|
+
- rubocop-lts.yml
|
221
|
+
```
|
222
|
+
|
223
|
+
## Development
|
224
|
+
|
225
|
+
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.
|
226
|
+
|
227
|
+
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).
|
228
|
+
|
229
|
+
### Git Branch Names
|
230
|
+
|
231
|
+
#### Naming Scheme
|
232
|
+
|
233
|
+
```ruby
|
234
|
+
"r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
|
235
|
+
```
|
236
|
+
|
237
|
+
##### Parity
|
238
|
+
|
239
|
+
Even versions use the token `even` in the branch name.
|
240
|
+
Odd versions use the token `odd` in the branch name.
|
241
|
+
|
242
|
+
#### Version - Branch Matrix
|
243
|
+
|
244
|
+
| Ruby Version | Parity | Gem Version | Branch Name | Purpose |
|
245
|
+
|-----------------|--------|-------------|-----------------|-----------------------------------|
|
246
|
+
| 1.9 | odd | 1.x | `r1_9-odd-v1` | LTS, trunk, single-ruby-linting |
|
247
|
+
| 1.9 | even | 2.x | `r1_9-even-v2` | Upgrade, feat, multi-ruby-linting |
|
248
|
+
| 2.0 | odd | 3.x | `r2_0-odd-v3` | LTS, trunk, single-ruby-linting |
|
249
|
+
| 2.0 | even | 4.x | `r2_0-even-v4` | Upgrade, feat, multi-ruby-linting |
|
250
|
+
| 2.1 | odd | 5.x | `r2_1-odd-v5` | LTS, trunk, single-ruby-linting |
|
251
|
+
| 2.1 | even | 6.x | `r2_1-even-v6` | Upgrade, feat, multi-ruby-linting |
|
252
|
+
| 2.2 | odd | 7.x | `r2_2-odd-v7` | LTS, trunk, single-ruby-linting |
|
253
|
+
| 2.2 | even | 8.x | `r2_2-even-v8` | Upgrade, feat, multi-ruby-linting |
|
254
|
+
| 2.3 | odd | 9.x | `r2_3-odd-v9` | LTS, trunk, single-ruby-linting |
|
255
|
+
| 2.3 | even | 10.x | `r2_3-even-v10` | Upgrade, feat, multi-ruby-linting |
|
256
|
+
| 2.4 | odd | 11.x | `r2_4-odd-v11` | LTS, trunk, single-ruby-linting |
|
257
|
+
| 2.4 | even | 12.x | `r2_4-even-v12` | Upgrade, feat, multi-ruby-linting |
|
258
|
+
| 2.5 | odd | 13.x | `r2_5-odd-v13` | LTS, trunk, single-ruby-linting |
|
259
|
+
| 2.5 | even | 14.x | `r2_5-even-v14` | Upgrade, feat, multi-ruby-linting |
|
260
|
+
| 2.6 | odd | 15.x | `r2_6-odd-v15` | LTS, trunk, single-ruby-linting |
|
261
|
+
| 2.6 | even | 16.x | `r2_6-even-v16` | Upgrade, feat, multi-ruby-linting |
|
262
|
+
| 2.7 | odd | 17.x | `r2_7-odd-v17` | LTS, trunk, single-ruby-linting |
|
263
|
+
| 2.7 | even | 18.x | `r2_7-even-v18` | Upgrade, feat, multi-ruby-linting |
|
264
|
+
| 3.0 | odd | 19.x | `r3_0-odd-v19` | LTS, trunk, single-ruby-linting |
|
265
|
+
| 3.0 | even | 20.x | `r3_0-even-v20` | Upgrade, feat, multi-ruby-linting |
|
266
|
+
| 3.1 | odd | 21.x | `r3_1-odd-v21` | LTS, trunk, single-ruby-linting |
|
267
|
+
| 3.1 | even | 22.x | `r3_1-even-v22` | Upgrade, feat, multi-ruby-linting |
|
268
|
+
| 3.2 / ruby-head | odd | 23.x | `r3_2-odd-v23` | LTS, trunk, single-ruby-linting |
|
269
|
+
| 3.2 / ruby-head | even | 24.x | `r3_2-even-v24` | Upgrade, feat, multi-ruby-linting |
|
270
|
+
|
271
|
+
> NOTE: For more on how Ruby 1.8 support works, see [above][lts1_8]
|
272
|
+
|
273
|
+
[lts1_8]: https://github.com/rubocop-lts/rubocop-lts#supporting-ruby-18
|
274
|
+
|
275
|
+
## ⚡️ Contributing
|
276
|
+
|
277
|
+
See [CONTRIBUTING.md][contributing]
|
278
|
+
|
279
|
+
## 🌈 Contributors
|
280
|
+
|
281
|
+
[]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
|
282
|
+
|
283
|
+
Made with [contributors-img](https://contrib.rocks).
|
284
|
+
|
285
|
+
## 📄 License
|
286
|
+
|
287
|
+
The gem is available as open source under the terms of
|
288
|
+
the [MIT License][license] [][license-ref].
|
289
|
+
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
290
|
+
|
291
|
+
<details>
|
292
|
+
<summary>Project Logos (rubocop-lts)</summary>
|
293
|
+
|
294
|
+
See [docs/images/logo/README.txt][project-logos]
|
295
|
+
</details>
|
296
|
+
|
297
|
+
<details>
|
298
|
+
<summary>Organization Logo (rubocop-semver)</summary>
|
299
|
+
|
300
|
+
Author: [Yusuf Evli][org-logo-author]
|
301
|
+
Source: [Unsplash][org-logo-source]
|
302
|
+
License: [Unsplash License][org-logo-license]
|
303
|
+
</details>
|
304
|
+
|
305
|
+
[project-logos]: https://github.com/rubocop-lts/rubocop-lts/blob/main/docs/images/logo/README.txt
|
306
|
+
[org-logo-author]: https://unsplash.com/@yusufevli
|
307
|
+
[org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
|
308
|
+
[org-logo-license]: https://unsplash.com/license
|
309
|
+
|
310
|
+
### © Copyright
|
311
|
+
|
312
|
+
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
313
|
+
|
314
|
+
## 🤝 Code of Conduct
|
315
|
+
|
316
|
+
Everyone interacting in Rubocop LTS codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md).
|
317
|
+
|
318
|
+
## 📌 Versioning
|
319
|
+
|
320
|
+
This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
|
321
|
+
bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
|
322
|
+
immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
|
323
|
+
major versions.
|
324
|
+
|
325
|
+
As a result of this policy, you can (and should) specify a dependency on this gem using
|
326
|
+
the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
327
|
+
|
328
|
+
For example:
|
329
|
+
|
330
|
+
<!-- FIND VERSION -->
|
331
|
+
```ruby
|
332
|
+
spec.add_dependency "rubocop-lts", "~> 8.0"
|
333
|
+
```
|
334
|
+
|
335
|
+
|
101
336
|
<!-- columnar badge #s for Project Health table:
|
102
337
|
⛳️
|
103
338
|
🖇
|
data/SECURITY.md
CHANGED
@@ -15,17 +15,6 @@
|
|
15
15
|
| 9.x | :white_check_mark: |
|
16
16
|
| 10.x | :white_check_mark: |
|
17
17
|
| 11.x | :white_check_mark: |
|
18
|
-
| 12.x | :white_check_mark: |
|
19
|
-
| 13.x | :white_check_mark: |
|
20
|
-
| 14.x | :white_check_mark: |
|
21
|
-
| 15.x | :white_check_mark: |
|
22
|
-
| 16.x | :white_check_mark: |
|
23
|
-
| 17.x | :white_check_mark: |
|
24
|
-
| 18.x | :white_check_mark: |
|
25
|
-
| 19.x | :white_check_mark: |
|
26
|
-
| 20.x | :white_check_mark: |
|
27
|
-
| 21.x | :white_check_mark: |
|
28
|
-
| 22.x | :white_check_mark: |
|
29
18
|
|
30
19
|
## Reporting a Vulnerability
|
31
20
|
|
data/lib/rubocop/lts/version.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
# Enable flags like --only-failures and --next-failure
|
5
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
6
|
+
|
7
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
8
|
+
config.disable_monkey_patching!
|
9
|
+
|
10
|
+
config.expect_with :rspec do |c|
|
11
|
+
c.syntax = :expect
|
12
|
+
end
|
13
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-lts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop-ruby2_2
|
@@ -41,18 +41,21 @@ files:
|
|
41
41
|
- lib/rubocop/lts/version.rb
|
42
42
|
- rubocop-lts.yml
|
43
43
|
- sig/rubocop/lts.rbs
|
44
|
+
- spec/config/rspec/rspec_core.rb
|
45
|
+
- spec/rubocop/lts_spec.rb
|
46
|
+
- spec/spec_helper.rb
|
44
47
|
homepage: https://github.com/rubocop-lts/rubocop-lts
|
45
48
|
licenses:
|
46
49
|
- MIT
|
47
50
|
metadata:
|
48
51
|
homepage_uri: https://github.com/rubocop-lts/rubocop-lts
|
49
|
-
source_code_uri: https://github.com/rubocop-lts/rubocop-lts/tree/
|
50
|
-
changelog_uri: https://github.com/rubocop-lts/rubocop-lts/blob/
|
52
|
+
source_code_uri: https://github.com/rubocop-lts/rubocop-lts/tree/v8.0.0
|
53
|
+
changelog_uri: https://github.com/rubocop-lts/rubocop-lts/blob/v8.0.0/CHANGELOG.md
|
51
54
|
bug_tracker_uri: https://github.com/rubocop-lts/rubocop-lts/issues
|
52
|
-
documentation_uri: https://www.rubydoc.info/gems/rubocop-lts/
|
55
|
+
documentation_uri: https://www.rubydoc.info/gems/rubocop-lts/8.0.0
|
53
56
|
wiki_uri: https://github.com/rubocop-lts/rubocop-lts/wiki
|
54
57
|
rubygems_mfa_required: 'true'
|
55
|
-
post_install_message:
|
58
|
+
post_install_message:
|
56
59
|
rdoc_options: []
|
57
60
|
require_paths:
|
58
61
|
- lib
|
@@ -63,15 +66,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
63
66
|
version: 2.2.0
|
64
67
|
- - "<"
|
65
68
|
- !ruby/object:Gem::Version
|
66
|
-
version: '2
|
69
|
+
version: '3.2'
|
67
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
71
|
requirements:
|
69
72
|
- - ">="
|
70
73
|
- !ruby/object:Gem::Version
|
71
74
|
version: '0'
|
72
75
|
requirements: []
|
73
|
-
rubygems_version: 3.3.
|
74
|
-
signing_key:
|
76
|
+
rubygems_version: 3.3.14
|
77
|
+
signing_key:
|
75
78
|
specification_version: 4
|
76
79
|
summary: Rubocop LTS - Semantically Versioned
|
77
|
-
test_files:
|
80
|
+
test_files:
|
81
|
+
- spec/spec_helper.rb
|
82
|
+
- spec/config/rspec/rspec_core.rb
|
83
|
+
- spec/rubocop/lts_spec.rb
|