rubocop-lts 14.0.1 → 14.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -16,323 +16,220 @@
16
16
  </a>
17
17
  </p>
18
18
 
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].
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 🌳
36
56
 
37
57
  <!-- FIND VERSION -->
38
- **This README is for the even release of `rubocop-lts` supporting Ruby >= 2.5.0.**
58
+ **This README is for the even release of `rubocop-lts` supporting Ruby >= 2.5.**
39
59
 
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
60
+ This gem configures many gems for you:
42
61
 
43
- ## Version Conventions
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)
44
72
 
45
- ### Odd Major Release
73
+ And optionally, if you are using RSpec:
46
74
 
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
75
+ - rubocop-rspec
57
76
 
58
- Intended for applications and libraries that only lint against a single Ruby version.
77
+ And optionally, if you are building a RubyGem:
59
78
 
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.
79
+ - rubocop-packaging
61
80
 
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` |
81
+ And optionally, if you are building a Rails app:
76
82
 
77
- ### Even Major Release
83
+ - standard-rails (incl. rubocop-rails)
84
+ - betterlint
78
85
 
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
- ```
86
+ ## Project Health 👩‍💻
172
87
 
173
- > NOTE: For more on how Ruby 1.8 support works, look [here][what1_8]
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] |
174
104
 
175
- [what1_8]: https://github.com/rubocop-lts/rubocop-ruby1_9#what-about-ruby-18
105
+ ## Installation ✨
176
106
 
177
- ## 👩‍💻 Project Health
107
+ Install the gem and add to the application's Gemfile by executing:
178
108
 
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] |
109
+ $ bundle add rubocop-lts -r false
194
110
 
195
- ## Installation
111
+ NOTE: If you are using **Rails** remove the `-r false`,
112
+ so the Railtie will load and rake tasks will be loaded automatically.
196
113
 
197
- Without bundler execute:
114
+ If bundler is not being used to manage dependencies, install the gem by executing:
198
115
 
199
- $ gem install
116
+ $ gem install rubocop-lts
200
117
 
201
- Add this line to your application's Gemfile:
118
+ Or add this line to your application's Gemfile:
202
119
 
203
120
  <!-- FIND VERSION -->
204
121
  ```ruby
205
- gem 'rubocop-lts', '~> 14.0', require: false
122
+ gem "rubocop-lts", "~> 14.1", require: false
206
123
  ```
207
124
 
208
125
  And then execute:
209
126
 
210
127
  $ bundle
211
128
 
212
- ## 🔧 Usage
129
+ ## Usage with RuboCop
213
130
 
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:
131
+ In your `.rubocop.yml` do the following:
217
132
 
133
+ 🔥 Delete the following line 🔥
218
134
  ```yaml
219
- inherit_gem:
220
- - rubocop-lts.yml
135
+ inherit_from: .rubocop_todo.yml
221
136
  ```
222
137
 
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).
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!
228
141
 
229
- ### Git Branch Names
230
-
231
- #### Naming Scheme
232
-
233
- ```ruby
234
- "r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
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
235
164
  ```
236
165
 
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
166
+ Then pick one of the following to add!
276
167
 
277
- See [CONTRIBUTING.md][contributing]
168
+ ### if Ruby with RSpec
278
169
 
279
- ## 🌈 Contributors
280
-
281
- [![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts)]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
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
175
+ ```
282
176
 
283
- Made with [contributors-img](https://contrib.rocks).
177
+ ### if just Ruby (without RSpec)
284
178
 
285
- ## 📄 License
179
+ ```yaml
180
+ inherit_gem:
181
+ rubocop-lts: config/ruby.yml
182
+ ```
286
183
 
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].
184
+ ### if Rails with RSpec
290
185
 
291
- <details>
292
- <summary>Project Logos (rubocop-lts)</summary>
186
+ ```yaml
187
+ inherit_gem:
188
+ rubocop-lts: config/rails_rspec.yml
189
+ ```
293
190
 
294
- See [docs/images/logo/README.txt][project-logos]
295
- </details>
191
+ ### if just Rails (without RSpec)
296
192
 
297
- <details>
298
- <summary>Organization Logo (rubocop-semver)</summary>
193
+ ```yaml
194
+ inherit_gem:
195
+ rubocop-lts: config/rails.yml
196
+ ```
299
197
 
300
- Author: [Yusuf Evli][org-logo-author]
301
- Source: [Unsplash][org-logo-source]
302
- License: [Unsplash License][org-logo-license]
303
- </details>
198
+ ### if rubygem with RSpec
304
199
 
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
200
+ ```yaml
201
+ inherit_gem:
202
+ rubocop-lts: config/rubygem_rspec.yml
203
+ ```
309
204
 
310
- ### © Copyright
205
+ ### if just rubygem (without RSpec)
311
206
 
312
- * Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
207
+ ```yaml
208
+ inherit_gem:
209
+ rubocop-lts: config/rubygem.yml
210
+ ```
313
211
 
314
- ## 🤝 Code of Conduct
212
+ ### Load Rake Tasks
315
213
 
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).
214
+ NOTE: On Rails it is **automatic**, via Railtie, so you can skip this.
317
215
 
318
- ## 📌 Versioning
216
+ In a non-Rails environment add the following to your `Rakefile`:
217
+ ```ruby
218
+ require "rubocop/lts"
219
+ Rubocop::Lts.install_tasks
220
+ ```
319
221
 
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.
222
+ This will load the `rubocop_gradual` rake task, and alias it as `rubocop`.
324
223
 
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.
224
+ ### Dependabot Noise Reduction
327
225
 
328
- For example:
226
+ Add the following to `.github/dependabot.yml` if you use Github Actions.
329
227
 
330
- <!-- FIND VERSION -->
331
- ```ruby
332
- spec.add_dependency "rubocop-lts", "~> 14.0"
228
+ ```yaml
229
+ ignore:
230
+ - dependency-name: "rubocop-lts"
333
231
  ```
334
232
 
335
-
336
233
  <!-- columnar badge #s for Project Health table:
337
234
  ⛳️
338
235
  🖇
@@ -353,8 +250,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
353
250
  [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
354
251
  [🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
355
252
  [🖐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
358
253
  [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
359
254
  [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
360
255
  [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
@@ -365,6 +260,23 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
365
260
  [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
366
261
  [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
367
262
  [⛳️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
368
280
  [⛳️19-vi]: http://img.shields.io/gem/v/rubocop-ruby1_9.svg
369
281
  [🖇️19-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_9.svg
370
282
  [🏘️19-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_9.svg
@@ -372,8 +284,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
372
284
  [🚎19-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/current.yml/badge.svg
373
285
  [🖐19-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml
374
286
  [🖐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
377
287
  [📗19-io]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues
378
288
  [📗19-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_9
379
289
  [🚀19-ic]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues?q=is%3Aissue+is%3Aclosed
@@ -391,8 +301,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
391
301
  [🚎20-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
392
302
  [🖐20-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
393
303
  [🖐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
396
304
  [📗20-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
397
305
  [📗20-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
398
306
  [🚀20-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
@@ -410,8 +318,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
410
318
  [🚎21-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/current.yml/badge.svg
411
319
  [🖐21-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml
412
320
  [🖐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
415
321
  [📗21-io]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues
416
322
  [📗21-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_1
417
323
  [🚀21-ic]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues?q=is%3Aissue+is%3Aclosed
@@ -429,8 +335,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
429
335
  [🚎22-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
430
336
  [🖐22-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
431
337
  [🖐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
434
338
  [📗22-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
435
339
  [📗22-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
436
340
  [🚀22-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
@@ -448,8 +352,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
448
352
  [🚎23-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/current.yml/badge.svg
449
353
  [🖐23-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml
450
354
  [🖐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
453
355
  [📗23-io]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues
454
356
  [📗23-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_3
455
357
  [🚀23-ic]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues?q=is%3Aissue+is%3Aclosed
@@ -467,8 +369,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
467
369
  [🚎24-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/current.yml/badge.svg
468
370
  [🖐24-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml
469
371
  [🖐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
472
372
  [📗24-io]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues
473
373
  [📗24-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_4
474
374
  [🚀24-ic]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues?q=is%3Aissue+is%3Aclosed
@@ -486,8 +386,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
486
386
  [🚎25-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/current.yml/badge.svg
487
387
  [🖐25-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml
488
388
  [🖐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
491
389
  [📗25-io]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues
492
390
  [📗25-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_5
493
391
  [🚀25-ic]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues?q=is%3Aissue+is%3Aclosed
@@ -505,8 +403,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
505
403
  [🚎26-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/current.yml/badge.svg
506
404
  [🖐26-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml
507
405
  [🖐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
510
406
  [📗26-io]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues
511
407
  [📗26-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_6
512
408
  [🚀26-ic]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues?q=is%3Aissue+is%3Aclosed
@@ -524,8 +420,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
524
420
  [🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
525
421
  [🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
526
422
  [🖐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
529
423
  [📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
530
424
  [📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
531
425
  [🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
@@ -543,8 +437,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
543
437
  [🚎30-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/current.yml/badge.svg
544
438
  [🖐30-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml
545
439
  [🖐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
548
440
  [📗30-io]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues
549
441
  [📗30-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_0
550
442
  [🚀30-ic]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues?q=is%3Aissue+is%3Aclosed
@@ -562,8 +454,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
562
454
  [🚎31-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/current.yml/badge.svg
563
455
  [🖐31-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml
564
456
  [🖐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
567
457
  [📗31-io]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues
568
458
  [📗31-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_1
569
459
  [🚀31-ic]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues?q=is%3Aissue+is%3Aclosed
@@ -581,8 +471,6 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
581
471
  [🚎32-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/current.yml/badge.svg
582
472
  [🖐32-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml
583
473
  [🖐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
586
474
  [📗32-io]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues
587
475
  [📗32-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_2
588
476
  [🚀32-ic]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues?q=is%3Aissue+is%3Aclosed
@@ -594,60 +482,33 @@ spec.add_dependency "rubocop-lts", "~> 14.0"
594
482
  [⛳️32-g]: https://rubygems.org/gems/rubocop-ruby3_2
595
483
  [⛳️32-gh]: https://github.com/rubocop-lts/rubocop-ruby3_2
596
484
 
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
597
494
  [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
598
-
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
599
500
  [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
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
-
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
609
505
  [license-ref]: https://opensource.org/licenses/MIT
610
-
611
- [semver]: http://semver.org/
612
-
506
+ [license-img]: https://img.shields.io/badge/License-MIT-green.svg
507
+ [peterboling]: http://www.peterboling.com
613
508
  [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
614
-
615
509
  [railsbling]: http://www.railsbling.com
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
-
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
510
  [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
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/
514
+ [tweetme]: http://twitter.com/galtzo