rubocop-lts 4.1.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -16,220 +16,323 @@
16
16
  </a>
17
17
  </p>
18
18
 
19
- # 🦾 RuboCop LTS
20
-
21
- ## PROJECT DOCUMENTATION
22
-
23
- * 🌱 [Convention > Configuration][Convention-Over-Configuration]
24
- * 🌱 [Releases][Even-Major-Release]
25
- * 🌱 [How to Upgrade Ruby (1.8 to 3.2)!][How-To-Upgrade-Ruby]
26
- * 👩‍💻 [Org Health][OrgHealth]
27
- * [Installation][Installation]
28
- * 🔧 [Usage][Usage]
29
- * ⚡️ [Contributing][Contributing]
30
- * 🌈 [Contributors][Contributors]
31
- * 📄 [License][License]
32
- * © [Copyright][Copyright]
33
- * 🤝 [Code of Conduct][Code of Conduct]
34
- * 📌 [Versioning][Versioning]
35
-
36
- [Convention-Over-Configuration]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/
37
- [Even-Major-Release]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/#even-major-release
38
- [How-To-Upgrade-Ruby]: https://rubocop-lts.gitlab.io/HOW_TO_UPGRADE_RUBY/
39
- [OrgHealth]: https://rubocop-lts.gitlab.io/#org-health-
40
- [Installation]: https://rubocop-lts.gitlab.io/#installation-
41
- [Usage]: https://rubocop-lts.gitlab.io/#usage-
42
- [Contributing]: https://rubocop-lts.gitlab.io/#contributing-
43
- [Contributors]: https://rubocop-lts.gitlab.io/#contributors-
44
- [License]: https://rubocop-lts.gitlab.io/#license-
45
- [Copyright]: https://rubocop-lts.gitlab.io/#copyright-
46
- [Code of Conduct]: https://rubocop-lts.gitlab.io/#code-of-conduct-
47
- [Versioning]: https://rubocop-lts.gitlab.io/#versioning-
48
-
49
- ## This README
50
-
51
- * 🌳 [This Branch](#this-branch-)
52
- * ‍💻 [Project Health](#project-health-)
53
- * ✨ [Installation](#installation-)
54
-
55
- ## 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].
56
36
 
57
37
  <!-- FIND VERSION -->
58
- **This README is for the even release of `rubocop-lts` supporting Ruby >= 2.0.**
38
+ **This README is for the odd release of `rubocop-lts` supporting Ruby ~> 2.1.0.**
59
39
 
60
- This gem configures many gems for you:
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
61
42
 
62
- - rubocop
63
- - rubocop-gradual
64
- - rubocop-md
65
- - rubocop-rake
66
- - rubocop-shopify
67
- - rubocop-thread_safety
68
- - standard
69
- - standard-performance (incl. rubocop-performance)
70
- - standard-custom
71
- - standard-rubocop-lts (ruby version-specific rules)
43
+ ## Version Conventions
72
44
 
73
- And optionally, if you are using RSpec:
45
+ ### Odd Major Release
74
46
 
75
- - rubocop-rspec
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
76
57
 
77
- And optionally, if you are building a RubyGem:
58
+ Intended for applications and libraries that only lint against a single Ruby version.
78
59
 
79
- - rubocop-packaging
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.
80
61
 
81
- And optionally, if you are building a Rails app:
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` |
82
76
 
83
- - standard-rails (incl. rubocop-rails)
84
- - betterlint
77
+ ### Even Major Release
85
78
 
86
- ## Project Health 👩‍💻
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... 👇
162
+
163
+ ### 📼 Supporting Ruby 1.8
164
+
165
+ Have a library still supporting Ruby 1.8.7, or looking to drop support for Ruby 1.8.7 in a SemVer-compliant manner?
166
+
167
+ Simply use `rubocop-lts`, version 1.x or 2.x, which support Ruby 1.9.3 for installation, and 1.8.7 for syntax.
168
+ ```yaml
169
+ inherit_gem:
170
+ rubocop-lts: rubocop-lts1_8.yml
171
+ ```
87
172
 
88
- | Gem Name | Version | Downloads | CI | Activity |
89
- |------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
90
- | [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] [![Heads][🖐lts-hwfi]][🖐lts-hwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
91
- | [`rubocop-ruby1_8`][⛳️18-gh] | [![Gem Version][⛳️18-vi]][⛳️18-g] | [![Total DL][🖇️18-dti]][⛳️18-g] [![DL Rank][🏘️18-rti]][⛳️18-g] | [![Current][🚎18-cwfi]][🚎18-cwf] [![Heads][🖐18-hwfi]][🖐18-hwf] | [![Open Issues][📗18-ioi]][📗18-io] [![Closed Issues][🚀18-ici]][🚀18-ic] [![Open PRs][💄18-poi]][💄18-po] [![Closed PRs][👽18-pci]][👽18-pc] |
92
- | [`rubocop-ruby1_9`][⛳️19-gh] | [![Gem Version][⛳️19-vi]][⛳️19-g] | [![Total DL][🖇️19-dti]][⛳️19-g] [![DL Rank][🏘️19-rti]][⛳️19-g] | [![Current][🚎19-cwfi]][🚎19-cwf] [![Heads][🖐19-hwfi]][🖐19-hwf] | [![Open Issues][📗19-ioi]][📗19-io] [![Closed Issues][🚀19-ici]][🚀19-ic] [![Open PRs][💄19-poi]][💄19-po] [![Closed PRs][👽19-pci]][👽19-pc] |
93
- | [`rubocop-ruby2_0`][⛳️20-gh] | [![Gem Version][⛳️20-vi]][⛳️20-g] | [![Total DL][🖇️20-dti]][⛳️20-g] [![DL Rank][🏘️20-rti]][⛳️20-g] | [![Current][🚎20-cwfi]][🚎20-cwf] [![Heads][🖐20-hwfi]][🖐20-hwf] | [![Open Issues][📗20-ioi]][📗20-io] [![Closed Issues][🚀20-ici]][🚀20-ic] [![Open PRs][💄20-poi]][💄20-po] [![Closed PRs][👽20-pci]][👽20-pc] |
94
- | [`rubocop-ruby2_1`][⛳️21-gh] | [![Gem Version][⛳️21-vi]][⛳️21-g] | [![Total DL][🖇️21-dti]][⛳️21-g] [![DL Rank][🏘️21-rti]][⛳️21-g] | [![Current][🚎21-cwfi]][🚎21-cwf] [![Heads][🖐21-hwfi]][🖐21-hwf] | [![Open Issues][📗21-ioi]][📗21-io] [![Closed Issues][🚀21-ici]][🚀21-ic] [![Open PRs][💄21-poi]][💄21-po] [![Closed PRs][👽21-pci]][👽21-pc] |
95
- | [`rubocop-ruby2_2`][⛳️22-gh] | [![Gem Version][⛳️22-vi]][⛳️22-g] | [![Total DL][🖇️22-dti]][⛳️22-g] [![DL Rank][🏘️22-rti]][⛳️22-g] | [![Current][🚎22-cwfi]][🚎22-cwf] [![Heads][🖐22-hwfi]][🖐22-hwf] | [![Open Issues][📗22-ioi]][📗22-io] [![Closed Issues][🚀22-ici]][🚀22-ic] [![Open PRs][💄22-poi]][💄22-po] [![Closed PRs][👽22-pci]][👽22-pc] |
96
- | [`rubocop-ruby2_3`][⛳️23-gh] | [![Gem Version][⛳️23-vi]][⛳️23-g] | [![Total DL][🖇️23-dti]][⛳️23-g] [![DL Rank][🏘️23-rti]][⛳️23-g] | [![Current][🚎23-cwfi]][🚎23-cwf] [![Heads][🖐23-hwfi]][🖐23-hwf] | [![Open Issues][📗23-ioi]][📗23-io] [![Closed Issues][🚀23-ici]][🚀23-ic] [![Open PRs][💄23-poi]][💄23-po] [![Closed PRs][👽23-pci]][👽23-pc] |
97
- | [`rubocop-ruby2_4`][⛳️24-gh] | [![Gem Version][⛳️24-vi]][⛳️24-g] | [![Total DL][🖇️24-dti]][⛳️24-g] [![DL Rank][🏘️24-rti]][⛳️24-g] | [![Current][🚎24-cwfi]][🚎24-cwf] [![Heads][🖐24-hwfi]][🖐24-hwf] | [![Open Issues][📗24-ioi]][📗24-io] [![Closed Issues][🚀24-ici]][🚀24-ic] [![Open PRs][💄24-poi]][💄24-po] [![Closed PRs][👽24-pci]][👽24-pc] |
98
- | [`rubocop-ruby2_5`][⛳️25-gh] | [![Gem Version][⛳️25-vi]][⛳️25-g] | [![Total DL][🖇️25-dti]][⛳️25-g] [![DL Rank][🏘️25-rti]][⛳️25-g] | [![Current][🚎25-cwfi]][🚎25-cwf] [![Heads][🖐25-hwfi]][🖐25-hwf] | [![Open Issues][📗25-ioi]][📗25-io] [![Closed Issues][🚀25-ici]][🚀25-ic] [![Open PRs][💄25-poi]][💄25-po] [![Closed PRs][👽25-pci]][👽25-pc] |
99
- | [`rubocop-ruby2_6`][⛳️26-gh] | [![Gem Version][⛳️26-vi]][⛳️26-g] | [![Total DL][🖇️26-dti]][⛳️26-g] [![DL Rank][🏘️26-rti]][⛳️26-g] | [![Current][🚎26-cwfi]][🚎26-cwf] [![Heads][🖐26-hwfi]][🖐26-hwf] | [![Open Issues][📗26-ioi]][📗26-io] [![Closed Issues][🚀26-ici]][🚀26-ic] [![Open PRs][💄26-poi]][💄26-po] [![Closed PRs][👽26-pci]][👽26-pc] |
100
- | [`rubocop-ruby2_7`][⛳️27-gh] | [![Gem Version][⛳️27-vi]][⛳️27-g] | [![Total DL][🖇️27-dti]][⛳️27-g] [![DL Rank][🏘️27-rti]][⛳️27-g] | [![Current][🚎27-cwfi]][🚎27-cwf] [![Heads][🖐27-hwfi]][🖐27-hwf] | [![Open Issues][📗27-ioi]][📗27-io] [![Closed Issues][🚀27-ici]][🚀27-ic] [![Open PRs][💄27-poi]][💄27-po] [![Closed PRs][👽27-pci]][👽27-pc] |
101
- | [`rubocop-ruby3_0`][⛳️30-gh] | [![Gem Version][⛳️30-vi]][⛳️30-g] | [![Total DL][🖇️30-dti]][⛳️30-g] [![DL Rank][🏘️30-rti]][⛳️30-g] | [![Current][🚎30-cwfi]][🚎30-cwf] [![Heads][🖐30-hwfi]][🖐30-hwf] | [![Open Issues][📗30-ioi]][📗30-io] [![Closed Issues][🚀30-ici]][🚀30-ic] [![Open PRs][💄30-poi]][💄30-po] [![Closed PRs][👽30-pci]][👽30-pc] |
102
- | [`rubocop-ruby3_1`][⛳️31-gh] | [![Gem Version][⛳️31-vi]][⛳️31-g] | [![Total DL][🖇️31-dti]][⛳️31-g] [![DL Rank][🏘️31-rti]][⛳️31-g] | [![Current][🚎31-cwfi]][🚎31-cwf] [![Heads][🖐31-hwfi]][🖐31-hwf] | [![Open Issues][📗31-ioi]][📗31-io] [![Closed Issues][🚀31-ici]][🚀31-ic] [![Open PRs][💄31-poi]][💄31-po] [![Closed PRs][👽31-pci]][👽31-pc] |
103
- | [`rubocop-ruby3_2`][⛳️32-gh] | [![Gem Version][⛳️32-vi]][⛳️32-g] | [![Total DL][🖇️32-dti]][⛳️32-g] [![DL Rank][🏘️32-rti]][⛳️32-g] | [![Current][🚎32-cwfi]][🚎32-cwf] [![Heads][🖐32-hwfi]][🖐32-hwf] | [![Open Issues][📗32-ioi]][📗32-io] [![Closed Issues][🚀32-ici]][🚀32-ic] [![Open PRs][💄32-poi]][💄32-po] [![Closed PRs][👽32-pci]][👽32-pc] |
173
+ > NOTE: For more on how Ruby 1.8 support works, look [here][what1_8]
104
174
 
105
- ## Installation ✨
175
+ [what1_8]: https://github.com/rubocop-lts/rubocop-ruby1_9#what-about-ruby-18
106
176
 
107
- Install the gem and add to the application's Gemfile by executing:
177
+ ## 👩‍💻 Project Health
108
178
 
109
- $ bundle add rubocop-lts -r false
179
+ | Gem Name | Version | Downloads | CI | Activity |
180
+ |------------------------------|-------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
181
+ | [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] [![Legacy][🧮lts-lwfi]][🧮lts-lwf] [![Heads][🖐lts-hwfi]][🖐lts-hwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
182
+ | [`rubocop-ruby1_9`][⛳️19-gh] | [![Gem Version][⛳️19-vi]][⛳️19-g] | [![Total DL][🖇️19-dti]][⛳️19-g] [![DL Rank][🏘️19-rti]][⛳️19-g] | [![Current][🚎19-cwfi]][🚎19-cwf] [![Legacy][🧮19-lwfi]][🧮19-lwf] | [![Open Issues][📗19-ioi]][📗19-io] [![Closed Issues][🚀19-ici]][🚀19-ic] [![Open PRs][💄19-poi]][💄19-po] [![Closed PRs][👽19-pci]][👽19-pc] |
183
+ | [`rubocop-ruby2_0`][⛳️20-gh] | [![Gem Version][⛳️20-vi]][⛳️20-g] | [![Total DL][🖇️20-dti]][⛳️20-g] [![DL Rank][🏘️20-rti]][⛳️20-g] | [![Current][🚎20-cwfi]][🚎20-cwf] [![Legacy][🧮20-lwfi]][🧮20-lwf] | [![Open Issues][📗20-ioi]][📗20-io] [![Closed Issues][🚀20-ici]][🚀20-ic] [![Open PRs][💄20-poi]][💄20-po] [![Closed PRs][👽20-pci]][👽20-pc] |
184
+ | [`rubocop-ruby2_1`][⛳️21-gh] | [![Gem Version][⛳️21-vi]][⛳️21-g] | [![Total DL][🖇️21-dti]][⛳️21-g] [![DL Rank][🏘️21-rti]][⛳️21-g] | [![Current][🚎21-cwfi]][🚎21-cwf] [![Legacy][🧮21-lwfi]][🧮21-lwf] | [![Open Issues][📗21-ioi]][📗21-io] [![Closed Issues][🚀21-ici]][🚀21-ic] [![Open PRs][💄21-poi]][💄21-po] [![Closed PRs][👽21-pci]][👽21-pc] |
185
+ | [`rubocop-ruby2_2`][⛳️22-gh] | [![Gem Version][⛳️22-vi]][⛳️22-g] | [![Total DL][🖇️22-dti]][⛳️22-g] [![DL Rank][🏘️22-rti]][⛳️22-g] | [![Current][🚎22-cwfi]][🚎22-cwf] [![Legacy][🧮22-lwfi]][🧮22-lwf] | [![Open Issues][📗22-ioi]][📗22-io] [![Closed Issues][🚀22-ici]][🚀22-ic] [![Open PRs][💄22-poi]][💄22-po] [![Closed PRs][👽22-pci]][👽22-pc] |
186
+ | [`rubocop-ruby2_3`][⛳️23-gh] | [![Gem Version][⛳️23-vi]][⛳️23-g] | [![Total DL][🖇️23-dti]][⛳️23-g] [![DL Rank][🏘️23-rti]][⛳️23-g] | [![Current][🚎23-cwfi]][🚎23-cwf] [![Legacy][🧮23-lwfi]][🧮23-lwf] | [![Open Issues][📗23-ioi]][📗23-io] [![Closed Issues][🚀23-ici]][🚀23-ic] [![Open PRs][💄23-poi]][💄23-po] [![Closed PRs][👽23-pci]][👽23-pc] |
187
+ | [`rubocop-ruby2_4`][⛳️24-gh] | [![Gem Version][⛳️24-vi]][⛳️24-g] | [![Total DL][🖇️24-dti]][⛳️24-g] [![DL Rank][🏘️24-rti]][⛳️24-g] | [![Current][🚎24-cwfi]][🚎24-cwf] [![Legacy][🧮24-lwfi]][🧮24-lwf] | [![Open Issues][📗24-ioi]][📗24-io] [![Closed Issues][🚀24-ici]][🚀24-ic] [![Open PRs][💄24-poi]][💄24-po] [![Closed PRs][👽24-pci]][👽24-pc] |
188
+ | [`rubocop-ruby2_5`][⛳️25-gh] | [![Gem Version][⛳️25-vi]][⛳️25-g] | [![Total DL][🖇️25-dti]][⛳️25-g] [![DL Rank][🏘️25-rti]][⛳️25-g] | [![Current][🚎25-cwfi]][🚎25-cwf] [![Heads][🖐25-hwfi]][🖐25-hwf] [![Legacy][🧮25-lwfi]][🧮25-lwf] | [![Open Issues][📗25-ioi]][📗25-io] [![Closed Issues][🚀25-ici]][🚀25-ic] [![Open PRs][💄25-poi]][💄25-po] [![Closed PRs][👽25-pci]][👽25-pc] |
189
+ | [`rubocop-ruby2_6`][⛳️26-gh] | [![Gem Version][⛳️26-vi]][⛳️26-g] | [![Total DL][🖇️26-dti]][⛳️26-g] [![DL Rank][🏘️26-rti]][⛳️26-g] | [![Current][🚎26-cwfi]][🚎26-cwf] [![Heads][🖐26-hwfi]][🖐26-hwf] [![Legacy][🧮26-lwfi]][🧮26-lwf] | [![Open Issues][📗26-ioi]][📗26-io] [![Closed Issues][🚀26-ici]][🚀26-ic] [![Open PRs][💄26-poi]][💄26-po] [![Closed PRs][👽26-pci]][👽26-pc] |
190
+ | [`rubocop-ruby2_7`][⛳️27-gh] | [![Gem Version][⛳️27-vi]][⛳️27-g] | [![Total DL][🖇️27-dti]][⛳️27-g] [![DL Rank][🏘️27-rti]][⛳️27-g] | [![Current][🚎27-cwfi]][🚎27-cwf] [![Heads][🖐27-hwfi]][🖐27-hwf] | [![Open Issues][📗27-ioi]][📗27-io] [![Closed Issues][🚀27-ici]][🚀27-ic] [![Open PRs][💄27-poi]][💄27-po] [![Closed PRs][👽27-pci]][👽27-pc] |
191
+ | [`rubocop-ruby3_0`][⛳️30-gh] | [![Gem Version][⛳️30-vi]][⛳️30-g] | [![Total DL][🖇️30-dti]][⛳️30-g] [![DL Rank][🏘️30-rti]][⛳️30-g] | [![Current][🚎30-cwfi]][🚎30-cwf] [![Heads][🖐30-hwfi]][🖐30-hwf] | [![Open Issues][📗30-ioi]][📗30-io] [![Closed Issues][🚀30-ici]][🚀30-ic] [![Open PRs][💄30-poi]][💄30-po] [![Closed PRs][👽30-pci]][👽30-pc] |
192
+ | [`rubocop-ruby3_1`][⛳️31-gh] | [![Gem Version][⛳️31-vi]][⛳️31-g] | [![Total DL][🖇️31-dti]][⛳️31-g] [![DL Rank][🏘️31-rti]][⛳️31-g] | [![Current][🚎31-cwfi]][🚎31-cwf] [![Heads][🖐31-hwfi]][🖐31-hwf] | [![Open Issues][📗31-ioi]][📗31-io] [![Closed Issues][🚀31-ici]][🚀31-ic] [![Open PRs][💄31-poi]][💄31-po] [![Closed PRs][👽31-pci]][👽31-pc] |
193
+ | [`rubocop-ruby3_2`][⛳️32-gh] | [![Gem Version][⛳️32-vi]][⛳️32-g] | [![Total DL][🖇️32-dti]][⛳️32-g] [![DL Rank][🏘️32-rti]][⛳️32-g] | [![Current][🚎32-cwfi]][🚎32-cwf] [![Heads][🖐32-hwfi]][🖐32-hwf] | [![Open Issues][📗32-ioi]][📗32-io] [![Closed Issues][🚀32-ici]][🚀32-ic] [![Open PRs][💄32-poi]][💄32-po] [![Closed PRs][👽32-pci]][👽32-pc] |
110
194
 
111
- NOTE: If you are using **Rails** remove the `-r false`,
112
- so the Railtie will load and rake tasks will be loaded automatically.
195
+ ## Installation
113
196
 
114
- If bundler is not being used to manage dependencies, install the gem by executing:
197
+ Without bundler execute:
115
198
 
116
- $ gem install rubocop-lts
199
+ $ gem install
117
200
 
118
- Or add this line to your application's Gemfile:
201
+ Add this line to your application's Gemfile:
119
202
 
120
203
  <!-- FIND VERSION -->
121
204
  ```ruby
122
- gem "rubocop-lts", "~> 4.1", require: false
205
+ gem 'rubocop-lts', '~> 5.0', require: false
123
206
  ```
124
207
 
125
208
  And then execute:
126
209
 
127
210
  $ bundle
128
211
 
129
- ## Usage with RuboCop
212
+ ## 🔧 Usage
130
213
 
131
- In your `.rubocop.yml` do the following:
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:
132
217
 
133
- 🔥 Delete the following line 🔥
134
218
  ```yaml
135
- inherit_from: .rubocop_todo.yml
219
+ inherit_gem:
220
+ - rubocop-lts.yml
136
221
  ```
137
222
 
138
- You can probably 🔥 delete 🔥 most of the other lines too.
139
- This tool is anti-bike-shedding.
140
- You no longer need to worry about the rules!
223
+ ## Development
141
224
 
142
- 🔥 Any of the following configs are no longer needed 🔥
143
- ```yaml
144
- require:
145
- - 'betterlint'
146
- - 'rubocop-md'
147
- - 'rubocop-packaging'
148
- - 'rubocop-performance'
149
- - 'rubocop-rake'
150
- - 'rubocop-rspec'
151
- - 'rubocop-rails'
152
- - 'rubocop-thread_safety'
153
- - 'rubocop/gradual/patch'
154
- - 'standard'
155
- - 'standard-custom'
156
- - 'standard-performance'
157
- - 'standard-rails'
158
- - 'standard-rubocop-lts'
159
-
160
- AllCops:
161
- NewCops: enable
162
- DisplayCopNames: true
163
- TargetRubyVersion: X.X
164
- ```
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.
165
226
 
166
- Then pick one of the following to add!
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).
167
228
 
168
- ### if Ruby with RSpec
229
+ ### Git Branch Names
169
230
 
170
- ```yaml
171
- inherit_gem:
172
- rubocop-lts: rubocop-lts.yml # for the ruby + rspec
173
- # NOTE: this is the default, and as such, is equivalent to:
174
- # rubocop-lts: config/ruby_rspec.yml
231
+ #### Naming Scheme
232
+
233
+ ```ruby
234
+ "r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
175
235
  ```
176
236
 
177
- ### if just Ruby (without RSpec)
237
+ ##### Parity
178
238
 
179
- ```yaml
180
- inherit_gem:
181
- rubocop-lts: config/ruby.yml
182
- ```
239
+ Even versions use the token `even` in the branch name.
240
+ Odd versions use the token `odd` in the branch name.
183
241
 
184
- ### if Rails with RSpec
242
+ #### Version - Branch Matrix
185
243
 
186
- ```yaml
187
- inherit_gem:
188
- rubocop-lts: config/rails_rspec.yml
189
- ```
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 |
190
270
 
191
- ### if just Rails (without RSpec)
271
+ > NOTE: For more on how Ruby 1.8 support works, see [above][lts1_8]
192
272
 
193
- ```yaml
194
- inherit_gem:
195
- rubocop-lts: config/rails.yml
196
- ```
273
+ [lts1_8]: https://github.com/rubocop-lts/rubocop-lts#supporting-ruby-18
197
274
 
198
- ### if rubygem with RSpec
275
+ ## ⚡️ Contributing
199
276
 
200
- ```yaml
201
- inherit_gem:
202
- rubocop-lts: config/rubygem_rspec.yml
203
- ```
277
+ See [CONTRIBUTING.md][contributing]
204
278
 
205
- ### if just rubygem (without RSpec)
279
+ ## 🌈 Contributors
206
280
 
207
- ```yaml
208
- inherit_gem:
209
- rubocop-lts: config/rubygem.yml
210
- ```
281
+ [![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts)]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
211
282
 
212
- ### Load Rake Tasks
283
+ Made with [contributors-img](https://contrib.rocks).
213
284
 
214
- NOTE: On Rails it is **automatic**, via Railtie, so you can skip this.
285
+ ## 📄 License
215
286
 
216
- In a non-Rails environment add the following to your `Rakefile`:
217
- ```ruby
218
- require "rubocop/lts"
219
- Rubocop::Lts.install_tasks
220
- ```
287
+ The gem is available as open source under the terms of
288
+ the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
289
+ See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
221
290
 
222
- This will load the `rubocop_gradual` rake task, and alias it as `rubocop`.
291
+ <details>
292
+ <summary>Project Logos (rubocop-lts)</summary>
223
293
 
224
- ### Dependabot Noise Reduction
294
+ See [docs/images/logo/README.txt][project-logos]
295
+ </details>
225
296
 
226
- Add the following to `.github/dependabot.yml` if you use Github Actions.
297
+ <details>
298
+ <summary>Organization Logo (rubocop-semver)</summary>
227
299
 
228
- ```yaml
229
- ignore:
230
- - dependency-name: "rubocop-lts"
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", "~> 5.0"
231
333
  ```
232
334
 
335
+
233
336
  <!-- columnar badge #s for Project Health table:
234
337
  ⛳️
235
338
  🖇
@@ -250,6 +353,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
250
353
  [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
251
354
  [🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
252
355
  [🖐lts-hwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml/badge.svg
356
+ [🧮lts-lwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml
357
+ [🧮lts-lwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml/badge.svg
253
358
  [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
254
359
  [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
255
360
  [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
@@ -260,23 +365,6 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
260
365
  [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
261
366
  [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
262
367
  [⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
263
- [⛳️18-vi]: http://img.shields.io/gem/v/rubocop-ruby1_8.svg
264
- [🖇️18-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_8.svg
265
- [🏘️18-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_8.svg
266
- [🚎18-cwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
267
- [🚎18-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
268
- [🖐18-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
269
- [🖐18-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
270
- [📗18-io]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
271
- [📗18-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_8
272
- [🚀18-ic]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues?q=is%3Aissue+is%3Aclosed
273
- [🚀18-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby1_8
274
- [💄18-po]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
275
- [💄18-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby1_8
276
- [👽18-pc]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls?q=is%3Apr+is%3Aclosed
277
- [👽18-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby1_8
278
- [⛳️18-g]: https://rubygems.org/gems/rubocop-ruby1_8
279
- [⛳️18-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
280
368
  [⛳️19-vi]: http://img.shields.io/gem/v/rubocop-ruby1_9.svg
281
369
  [🖇️19-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_9.svg
282
370
  [🏘️19-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_9.svg
@@ -284,6 +372,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
284
372
  [🚎19-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/current.yml/badge.svg
285
373
  [🖐19-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml
286
374
  [🖐19-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml/badge.svg
375
+ [🧮19-lwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/legacy.yml
376
+ [🧮19-lwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/legacy.yml/badge.svg
287
377
  [📗19-io]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues
288
378
  [📗19-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_9
289
379
  [🚀19-ic]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues?q=is%3Aissue+is%3Aclosed
@@ -301,6 +391,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
301
391
  [🚎20-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
302
392
  [🖐20-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
303
393
  [🖐20-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml/badge.svg
394
+ [🧮20-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml
395
+ [🧮20-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml/badge.svg
304
396
  [📗20-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
305
397
  [📗20-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
306
398
  [🚀20-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
@@ -318,6 +410,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
318
410
  [🚎21-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/current.yml/badge.svg
319
411
  [🖐21-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml
320
412
  [🖐21-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml/badge.svg
413
+ [🧮21-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/legacy.yml
414
+ [🧮21-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/legacy.yml/badge.svg
321
415
  [📗21-io]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues
322
416
  [📗21-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_1
323
417
  [🚀21-ic]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues?q=is%3Aissue+is%3Aclosed
@@ -335,6 +429,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
335
429
  [🚎22-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
336
430
  [🖐22-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
337
431
  [🖐22-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml/badge.svg
432
+ [🧮22-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml
433
+ [🧮22-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml/badge.svg
338
434
  [📗22-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
339
435
  [📗22-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
340
436
  [🚀22-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
@@ -352,6 +448,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
352
448
  [🚎23-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/current.yml/badge.svg
353
449
  [🖐23-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml
354
450
  [🖐23-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml/badge.svg
451
+ [🧮23-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/legacy.yml
452
+ [🧮23-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/legacy.yml/badge.svg
355
453
  [📗23-io]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues
356
454
  [📗23-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_3
357
455
  [🚀23-ic]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues?q=is%3Aissue+is%3Aclosed
@@ -369,6 +467,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
369
467
  [🚎24-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/current.yml/badge.svg
370
468
  [🖐24-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml
371
469
  [🖐24-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml/badge.svg
470
+ [🧮24-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/legacy.yml
471
+ [🧮24-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/legacy.yml/badge.svg
372
472
  [📗24-io]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues
373
473
  [📗24-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_4
374
474
  [🚀24-ic]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues?q=is%3Aissue+is%3Aclosed
@@ -386,6 +486,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
386
486
  [🚎25-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/current.yml/badge.svg
387
487
  [🖐25-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml
388
488
  [🖐25-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml/badge.svg
489
+ [🧮25-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/legacy.yml
490
+ [🧮25-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/legacy.yml/badge.svg
389
491
  [📗25-io]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues
390
492
  [📗25-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_5
391
493
  [🚀25-ic]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues?q=is%3Aissue+is%3Aclosed
@@ -403,6 +505,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
403
505
  [🚎26-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/current.yml/badge.svg
404
506
  [🖐26-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml
405
507
  [🖐26-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml/badge.svg
508
+ [🧮26-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/legacy.yml
509
+ [🧮26-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/legacy.yml/badge.svg
406
510
  [📗26-io]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues
407
511
  [📗26-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_6
408
512
  [🚀26-ic]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues?q=is%3Aissue+is%3Aclosed
@@ -420,6 +524,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
420
524
  [🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
421
525
  [🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
422
526
  [🖐27-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml/badge.svg
527
+ [🧮27-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml
528
+ [🧮27-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml/badge.svg
423
529
  [📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
424
530
  [📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
425
531
  [🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
@@ -437,6 +543,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
437
543
  [🚎30-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/current.yml/badge.svg
438
544
  [🖐30-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml
439
545
  [🖐30-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml/badge.svg
546
+ [🧮30-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/legacy.yml
547
+ [🧮30-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/legacy.yml/badge.svg
440
548
  [📗30-io]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues
441
549
  [📗30-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_0
442
550
  [🚀30-ic]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues?q=is%3Aissue+is%3Aclosed
@@ -454,6 +562,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
454
562
  [🚎31-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/current.yml/badge.svg
455
563
  [🖐31-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml
456
564
  [🖐31-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml/badge.svg
565
+ [🧮31-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/legacy.yml
566
+ [🧮31-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/legacy.yml/badge.svg
457
567
  [📗31-io]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues
458
568
  [📗31-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_1
459
569
  [🚀31-ic]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues?q=is%3Aissue+is%3Aclosed
@@ -471,6 +581,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
471
581
  [🚎32-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/current.yml/badge.svg
472
582
  [🖐32-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml
473
583
  [🖐32-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml/badge.svg
584
+ [🧮32-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/legacy.yml
585
+ [🧮32-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/legacy.yml/badge.svg
474
586
  [📗32-io]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues
475
587
  [📗32-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_2
476
588
  [🚀32-ic]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues?q=is%3Aissue+is%3Aclosed
@@ -482,33 +594,60 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
482
594
  [⛳️32-g]: https://rubygems.org/gems/rubocop-ruby3_2
483
595
  [⛳️32-gh]: https://github.com/rubocop-lts/rubocop-ruby3_2
484
596
 
485
- [aboutme]: https://about.me/peter.boling
486
- [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
487
- [angelme]: https://angel.co/peter-boling
488
- [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
489
- [codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-lts
490
- [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
491
- [chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
492
- [climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/test_coverage
493
- [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
494
597
  [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
495
- [conduct]: https://gitlab.com/rubocop-lts/rubocop-lts/-/blob/main/CODE_OF_CONDUCT.md
496
- [contributing]: https://gitlab.com/rubocop-lts/rubocop-lts/-/blob/main/CONTRIBUTING.md
497
- [devto]: https://dev.to/galtzo
498
- [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
499
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
598
+
500
599
  [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
501
- [gh_sponsors]: https://github.com/sponsors/pboling
502
- [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
503
- [liberapay_donate]: https://liberapay.com/pboling/donate
504
- [license]: LICENSE.txt
600
+
601
+ [conduct]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md
602
+
603
+ [contributing]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CONTRIBUTING.md
604
+
605
+ [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
606
+
607
+ [license]: https://github.com/rubocop-lts/rubocop-lts/blob/main/LICENSE.txt
608
+
505
609
  [license-ref]: https://opensource.org/licenses/MIT
506
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
507
- [peterboling]: http://www.peterboling.com
610
+
611
+ [semver]: http://semver.org/
612
+
508
613
  [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
614
+
509
615
  [railsbling]: http://www.railsbling.com
510
- [rubygems]: https://rubygems.org/gems/rubocop-lts
511
- [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
512
- [semver]: http://semver.org/
513
- [source]: https://github.com/rubocop-lts/rubocop-lts/
616
+
617
+ [peterboling]: http://www.peterboling.com
618
+
619
+ [aboutme]: https://about.me/peter.boling
620
+
621
+ [angelme]: https://angel.co/peter-boling
622
+
623
+ [coderme]:http://coderwall.com/pboling
624
+
625
+ [followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
626
+
514
627
  [tweetme]: http://twitter.com/galtzo
628
+
629
+ [politicme]: https://nationalprogressiveparty.org
630
+
631
+ [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
632
+
633
+ [source]: https://github.com/rubocop-lts/rubocop-lts/
634
+
635
+ [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
636
+
637
+ [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
638
+
639
+ [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
640
+
641
+ [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
642
+
643
+ [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
644
+
645
+ [rubygems]: https://rubygems.org/gems/rubocop-lts
646
+
647
+ [chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
648
+
649
+ [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
650
+
651
+ [liberapay_donate]: https://liberapay.com/pboling/donate
652
+
653
+ [gh_sponsors]: https://github.com/sponsors/pboling