rubocop-lts 2.3.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,187 +1,350 @@
1
- <a href="https://github.com/rubocop-lts"><img alt="rubocop-lts Logo by GitHub" src="https://github.com/rubocop-lts.png?size=192" width="14%" align="right"/></a>
1
+ <p align="center">
2
+ <a href="https://rubocop.org#gh-light-mode-only" target="_blank" rel="noopener">
3
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/rubocop-light.svg?raw=true" alt="SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt">
4
+ </a>
5
+ <a href="https://rubocop.org#gh-dark-mode-only" target="_blank" rel="noopener">
6
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/rubocop-dark.svg?raw=true" alt="SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt">
7
+ </a>
8
+ <a href="https://www.ruby-lang.org/" target="_blank" rel="noopener">
9
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/ruby-logo.svg?raw=true" alt="Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5, see docs/images/logo/README.txt">
10
+ </a>
11
+ <a href="https://semver.org/#gh-light-mode-only" target="_blank" rel="noopener">
12
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/semver-light.svg?raw=true" alt="SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt">
13
+ </a>
14
+ <a href="https://semver.org/#gh-dark-mode-only" target="_blank" rel="noopener">
15
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/semver-dark.svg?raw=true" alt="SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt">
16
+ </a>
17
+ </p>
2
18
 
3
- # 🦾 Rubocop::Lts
19
+ # Rubocop LTS
4
20
 
5
- [![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
21
+ ## 🙋‍♀️ How often has RuboCop broken your build?
6
22
 
7
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
23
+ This is both good (literally its job) _and_ bad (when it's for the wrong reasons).
8
24
 
9
- ---
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.
10
28
 
11
- `if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
29
+ ## 🗿 Stable
12
30
 
13
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
31
+ All releases are stable releases. The major version you need depends on the supported version(s) of Ruby for your project.
14
32
 
15
- <details markdown="1">
16
- <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
33
+ Projects that support a single version of Ruby (like many closed-source applications) will use the [Odd releases][even-release].
17
34
 
18
- I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
35
+ Projects that support multiple versions of Ruby simultaneously (like many open-source applications and libraries) will use the [Even releases][even-release].
19
36
 
20
- </details>
37
+ <!-- FIND VERSION -->
38
+ **This README is for the odd release of `rubocop-lts` supporting Ruby ~> 2.0.0.**
39
+
40
+ [odd-release]: https://github.com/rubocop-lts/rubocop-lts#odd-major-release
41
+ [even-release]: https://github.com/rubocop-lts/rubocop-lts#even-major-release
42
+
43
+ ## Version Conventions
44
+
45
+ ### Odd Major Release
46
+
47
+ Versions like:
48
+ ```ruby
49
+ "1.0.0"
50
+ "3.0.0"
51
+ "5.0.0"
52
+ # ... etc
53
+ ```
54
+ Locked to a single minor version of Ruby, e.g. version 15.0 has a `required_ruby_version` of `['>= 2.6.0', '< 2.7']`, which will install only on `2.6.x` versions of Ruby.
55
+
56
+ #### Implementation
57
+
58
+ Intended for applications and libraries that only lint against a single Ruby version.
59
+
60
+ Odd versions should be attached to a project's trunk (e.g. the main branch), for long-term stability (ahem, _lts_, anyone?) of the style rules.
21
61
 
22
- ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
62
+ | Your Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
63
+ |-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
64
+ | `1.9.x` (`['>= 1.9.0', '< 2']`) | `gem "rubocop-lts", "~> 1.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
65
+ | `2.0.x` (`['>= 2.0.0', '< 2.1']`) | `gem "rubocop-lts", "~> 3.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
66
+ | `2.1.x` (`['>= 2.1.0', '< 2.2']`) | `gem "rubocop-lts", "~> 5.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
67
+ | `2.2.x` (`['>= 2.2.0', '< 2.3']`) | `gem "rubocop-lts", "~> 7.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
68
+ | `2.3.x` (`['>= 2.3.0', '< 2.4']`) | `gem "rubocop-lts", "~> 9.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
69
+ | `2.4.x` (`['>= 2.4.0', '< 2.5']`) | `gem "rubocop-lts", "~> 11.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
70
+ | `2.5.x` (`['>= 2.5.0', '< 2.6']`) | `gem "rubocop-lts", "~> 13.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
71
+ | `2.6.x` (`['>= 2.6.0', '< 2.7']`) | `gem "rubocop-lts", "~> 15.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
72
+ | `2.7.x` (`['>= 2.7.0', '< 3.0']`) | `gem "rubocop-lts", "~> 17.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
73
+ | `3.0.x` (`['>= 3.0.0', '< 3.1']`) | `gem "rubocop-lts", "~> 19.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
74
+ | `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 21.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
75
+ | `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 23.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
76
+
77
+ ### Even Major Release
78
+
79
+ Versions like:
80
+ ```ruby
81
+ "2.0.0"
82
+ "4.0.0"
83
+ "6.0.0"
84
+ # ... etc
85
+ ```
86
+ Locked to the forward range of Rubies on which the gem can be installed (though rubocop may not execute on all),
87
+ e.g. version 16.0 has a `required_ruby_version` of `['>= 2.6.0', '< 3.2']` will install on any released version
88
+ of ruby from `2.6` on.
89
+
90
+ #### Implementation
91
+
92
+ Intended for applications and libraries that lint against a range of Ruby versions.
93
+
94
+ Even versions will help projects upgrade to newer Rubies while keeping the same underlying version of Rubocop version, so change can be introduced one step at a time.
95
+
96
+ | Minimum Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
97
+ |-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
98
+ | `1.9.x` (`['>= 1.9.0', '< 3.2']`) | `gem "rubocop-lts", "~> 2.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
99
+ | `2.0.x` (`['>= 2.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 4.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
100
+ | `2.1.x` (`['>= 2.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 6.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
101
+ | `2.2.x` (`['>= 2.2.0', '< 3.2']`) | `gem "rubocop-lts", "~> 8.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
102
+ | `2.3.x` (`['>= 2.3.0', '< 3.2']`) | `gem "rubocop-lts", "~> 10.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
103
+ | `2.4.x` (`['>= 2.4.0', '< 3.2']`) | `gem "rubocop-lts", "~> 12.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
104
+ | `2.5.x` (`['>= 2.5.0', '< 3.2']`) | `gem "rubocop-lts", "~> 14.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
105
+ | `2.6.x` (`['>= 2.6.0', '< 3.2']`) | `gem "rubocop-lts", "~> 16.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
106
+ | `2.7.x` (`['>= 2.7.0', '< 3.2']`) | `gem "rubocop-lts", "~> 18.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
107
+ | `3.0.x` (`['>= 3.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 20.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
108
+ | `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 22.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
109
+ | `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 24.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
110
+
111
+ ### All together now!
112
+
113
+ Upgrading a single step from odd to even will allow upgrading Ruby.
114
+
115
+ Upgrading a single step from even to odd will keep the same version of Ruby, and instead upgrade to the next RuboCop milestone.
116
+
117
+ Each major version will have a tracking branch named accordingly, [for development](https://github.com/rubocop-lts/rubocop-lts#git-branch-names).
118
+
119
+ ### 🪢 How To Untie Gorgon's Knot
120
+
121
+ > NOTE: The ruby specific versions, e.g. `rubocop-ruby2_7`, can be used if you won't be upgrading ruby. Keep scrolling down for links to each of them.
122
+
123
+ How to upgrade a project from yesterday, to today.
124
+
125
+ 1. Have good code coverage.
126
+ 2. Upgrade one step at a time.
127
+ 3. Re-run `bundle exec rubocop -a` in between each step.
128
+ 4. Re-run `bundle exec rubocop --auto-gen-config` in between each step.
129
+ 5. Commit and push to CI in between each step.
130
+
131
+ | Your Ruby | Your Gemfile | required_ruby_version | Your Gemfile.lock | Your .rubocop.yml |
132
+ |---------------|--------------------------------------|-------------------------|------------------------------|------------------------------------------------|
133
+ | `1.9.x` | `gem "rubocop-lts", "~> 1.0"` | `['>= 1.9.0', '< 2']` | [`rubocop-ruby1_9`][⛳️19-gh] | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
134
+ | ⬆️ to `2.0.x` | ⬆️ to `gem "rubocop-lts", "~> 2.0"` | `['>= 1.9.0', '< 3.2']` | no change | no change |
135
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 3.0"` | `['>= 2.0.0', '< 2.1']` | [`rubocop-ruby2_0`][⛳️20-gh] | no change |
136
+ | ⬆️ to `2.1.x` | ⬆️ to `gem "rubocop-lts", "~> 4.0"` | `['>= 2.0.0', '< 3.2']` | no change | no change |
137
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 5.0"` | `['>= 2.1.0', '< 2.2']` | [`rubocop-ruby2_1`][⛳️21-gh] | no change |
138
+ | ⬆️ to `2.2.x` | ⬆️ to `gem "rubocop-lts", "~> 6.0"` | `['>= 2.1.0', '< 3.2']` | no change | no change |
139
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 7.0"` | `['>= 2.2.0', '< 2.3']` | [`rubocop-ruby2_2`][⛳️22-gh] | no change |
140
+ | ⬆️ to `2.3.x` | ⬆️ to `gem "rubocop-lts", "~> 8.0"` | `['>= 2.2.0', '< 3.2']` | no change | no change |
141
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 9.0"` | `['>= 2.3.0', '< 2.4']` | [`rubocop-ruby2_3`][⛳️23-gh] | no change |
142
+ | ⬆️ to `2.4.x` | ⬆️ to `gem "rubocop-lts", "~> 10.0"` | `['>= 2.3.0', '< 3.2']` | no change | no change |
143
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 11.0"` | `['>= 2.4.0', '< 2.5']` | [`rubocop-ruby2_4`][⛳️24-gh] | no change |
144
+ | ⬆️ to `2.5.x` | ⬆️ to `gem "rubocop-lts", "~> 12.0"` | `['>= 2.4.0', '< 3.2']` | no change | no change |
145
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 13.0"` | `['>= 2.5.0', '< 2.6']` | [`rubocop-ruby2_5`][⛳️25-gh] | no change |
146
+ | ⬆️ to `2.6.x` | ⬆️ to `gem "rubocop-lts", "~> 14.0"` | `['>= 2.5.0', '< 3.2']` | no change | no change |
147
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 15.0"` | `['>= 2.6.0', '< 2.7']` | [`rubocop-ruby2_6`][⛳️26-gh] | no change |
148
+ | ⬆️ to `2.7.x` | ⬆️ to `gem "rubocop-lts", "~> 16.0"` | `['>= 2.6.0', '< 3.2']` | no change | no change |
149
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 17.0"` | `['>= 2.7.0', '< 3.0']` | [`rubocop-ruby2_7`][⛳️27-gh] | no change |
150
+ | ⬆️ to `3.0.x` | ⬆️ to `gem "rubocop-lts", "~> 18.0"` | `['>= 2.7.0', '< 3.2']` | no change | no change |
151
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 19.0"` | `['>= 3.0.0', '< 3.1']` | [`rubocop-ruby3_0`][⛳️30-gh] | no change |
152
+ | ⬆️ to `3.1.x` | ⬆️ to `gem "rubocop-lts", "~> 20.0"` | `['>= 3.0.0', '< 3.2']` | no change | no change |
153
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 21.0"` | `['>= 3.1.0', '< 3.2']` | [`rubocop-ruby3_1`][⛳️31-gh] | no change |
154
+ | ⬆️ to `3.2.x` | ⬆️ to `gem "rubocop-lts", "~> 22.0"` | `['>= 3.1.0', '< 3.2']` | no change | no change |
155
+ | no change | ⬆️ to `gem "rubocop-lts", "~> 23.0"` | `['>= 3.2.0', '< 3.3']` | [`rubocop-ruby3_2`][⛳️32-gh] | no change |
156
+ | ⬆️ to `3.3.x` | ⬆️ to `gem "rubocop-lts", "~> 24.0"` | `['>= 3.2.0', '< 3.3']` | no change | no change |
157
+
158
+ > NOTE: `required_ruby_version` means the gem will install on a version of Ruby within the range.
159
+ > Versions of this gem intended for ancient Rubies may not execute on more modern Rubies, _despite installing_.
160
+ > As such you might consider limiting linting to only a single version of Ruby, the oldest one supported.
161
+ > Speaking of old rubies... 👇
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
+ ```
172
+
173
+ > NOTE: For more on how Ruby 1.8 support works, look [here][what1_8]
174
+
175
+ [what1_8]: https://github.com/rubocop-lts/rubocop-ruby1_9#what-about-ruby-18
176
+
177
+ ## 👩‍💻 Project Health
178
+
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] |
194
+
195
+ ## ✨ Installation
23
196
 
24
- The complete documentation site is at [https://rubocop-lts.gitlab.io/][rlts]
197
+ Without bundler execute:
198
+
199
+ $ gem install
200
+
201
+ Add this line to your application's Gemfile:
202
+
203
+ <!-- FIND VERSION -->
204
+ ```ruby
205
+ gem 'rubocop-lts', '~> 3.0', require: false
206
+ ```
207
+
208
+ And then execute:
209
+
210
+ $ bundle
211
+
212
+ ## 🔧 Usage
213
+
214
+ The following is optional. We'll discuss why you might want to do this after you see what it does.
215
+
216
+ Add to the top of your project's `.rubocop.yml` configuration file:
217
+
218
+ ```yaml
219
+ inherit_gem:
220
+ - rubocop-lts.yml
221
+ ```
222
+
223
+ ## Development
224
+
225
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
226
+
227
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
228
+
229
+ ### Git Branch Names
230
+
231
+ #### Naming Scheme
232
+
233
+ ```ruby
234
+ "r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
235
+ ```
25
236
 
26
- ---
237
+ ##### Parity
238
+
239
+ Even versions use the token `even` in the branch name.
240
+ Odd versions use the token `odd` in the branch name.
241
+
242
+ #### Version - Branch Matrix
243
+
244
+ | Ruby Version | Parity | Gem Version | Branch Name | Purpose |
245
+ |-----------------|--------|-------------|-----------------|-----------------------------------|
246
+ | 1.9 | odd | 1.x | `r1_9-odd-v1` | LTS, trunk, single-ruby-linting |
247
+ | 1.9 | even | 2.x | `r1_9-even-v2` | Upgrade, feat, multi-ruby-linting |
248
+ | 2.0 | odd | 3.x | `r2_0-odd-v3` | LTS, trunk, single-ruby-linting |
249
+ | 2.0 | even | 4.x | `r2_0-even-v4` | Upgrade, feat, multi-ruby-linting |
250
+ | 2.1 | odd | 5.x | `r2_1-odd-v5` | LTS, trunk, single-ruby-linting |
251
+ | 2.1 | even | 6.x | `r2_1-even-v6` | Upgrade, feat, multi-ruby-linting |
252
+ | 2.2 | odd | 7.x | `r2_2-odd-v7` | LTS, trunk, single-ruby-linting |
253
+ | 2.2 | even | 8.x | `r2_2-even-v8` | Upgrade, feat, multi-ruby-linting |
254
+ | 2.3 | odd | 9.x | `r2_3-odd-v9` | LTS, trunk, single-ruby-linting |
255
+ | 2.3 | even | 10.x | `r2_3-even-v10` | Upgrade, feat, multi-ruby-linting |
256
+ | 2.4 | odd | 11.x | `r2_4-odd-v11` | LTS, trunk, single-ruby-linting |
257
+ | 2.4 | even | 12.x | `r2_4-even-v12` | Upgrade, feat, multi-ruby-linting |
258
+ | 2.5 | odd | 13.x | `r2_5-odd-v13` | LTS, trunk, single-ruby-linting |
259
+ | 2.5 | even | 14.x | `r2_5-even-v14` | Upgrade, feat, multi-ruby-linting |
260
+ | 2.6 | odd | 15.x | `r2_6-odd-v15` | LTS, trunk, single-ruby-linting |
261
+ | 2.6 | even | 16.x | `r2_6-even-v16` | Upgrade, feat, multi-ruby-linting |
262
+ | 2.7 | odd | 17.x | `r2_7-odd-v17` | LTS, trunk, single-ruby-linting |
263
+ | 2.7 | even | 18.x | `r2_7-even-v18` | Upgrade, feat, multi-ruby-linting |
264
+ | 3.0 | odd | 19.x | `r3_0-odd-v19` | LTS, trunk, single-ruby-linting |
265
+ | 3.0 | even | 20.x | `r3_0-even-v20` | Upgrade, feat, multi-ruby-linting |
266
+ | 3.1 | odd | 21.x | `r3_1-odd-v21` | LTS, trunk, single-ruby-linting |
267
+ | 3.1 | even | 22.x | `r3_1-even-v22` | Upgrade, feat, multi-ruby-linting |
268
+ | 3.2 / ruby-head | odd | 23.x | `r3_2-odd-v23` | LTS, trunk, single-ruby-linting |
269
+ | 3.2 / ruby-head | even | 24.x | `r3_2-even-v24` | Upgrade, feat, multi-ruby-linting |
270
+
271
+ > NOTE: For more on how Ruby 1.8 support works, see [above][lts1_8]
272
+
273
+ [lts1_8]: https://github.com/rubocop-lts/rubocop-lts#supporting-ruby-18
274
+
275
+ ## ⚡️ Contributing
276
+
277
+ See [CONTRIBUTING.md][contributing]
27
278
 
28
- Although the situation has improved somewhat,
29
- it remains [_unsafe_ to upgrade RuboCop, or Standard][Why-Build-This],
30
- in a project that supports EOL Rubies.
279
+ ## 🌈 Contributors
31
280
 
32
- I hope it helps others avoid some of the challenges I've had with library maintenance,
33
- and supporting decade-old mission-critical applications.
281
+ [![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts)]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
34
282
 
35
- Avoid bike-shedding, use `rubocop-lts` in every project, and
36
- let it manage your linting complexity!
283
+ Made with [contributors-img](https://contrib.rocks).
37
284
 
38
- If the `rubocop-lts` stack of libraries has helped you, or your organization,
39
- please support my efforts by making a donation, or becoming a sponsor.
285
+ ## 📄 License
40
286
 
41
- [Why-Build-This]: https://rubocop-lts.gitlab.io/about/#why-build-this-
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].
42
290
 
43
- <div id="badges">
291
+ <details>
292
+ <summary>Project Logos (rubocop-lts)</summary>
44
293
 
45
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
46
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
294
+ See [docs/images/logo/README.txt][project-logos]
295
+ </details>
47
296
 
48
- <span class="badge-buymeacoffee">
49
- <a href="https://ko-fi.com/O5O86SNP4" target='_blank' title="Donate to my FLOSS or refugee efforts at ko-fi.com"><img src="https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg" alt="Buy me coffee donation button" /></a>
50
- </span>
51
- <span class="badge-patreon">
52
- <a href="https://patreon.com/galtzo" title="Donate to my FLOSS or refugee efforts using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a>
53
- </span>
297
+ <details>
298
+ <summary>Organization Logo (rubocop-semver)</summary>
54
299
 
55
- </div>
300
+ Author: [Yusuf Evli][org-logo-author]
301
+ Source: [Unsplash][org-logo-source]
302
+ License: [Unsplash License][org-logo-license]
303
+ </details>
56
304
 
57
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
58
- [⛳liberapay]: https://liberapay.com/pboling/donate
59
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
60
- [🖇sponsor]: https://github.com/sponsors/pboling
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
61
309
 
62
- ### Quick Links
310
+ ### © Copyright
63
311
 
64
- * 🌱 [Convention > Configuration][Convention-Over-Configuration]
65
- * 🌱 [Releases][Even-Major-Release]
66
- * 🌱 [How to Upgrade Ruby (1.8 to 3.2)!][How-To-Upgrade-Ruby]
67
- * 👩‍💻 [Org Health][OrgHealth]
68
- * ✨ [Installation][Installation]
69
- * 🔧 [Usage][Usage]
70
- * ⚡️ [Contributing][Contributing]
71
- * 🌈 [Contributors][Contributors]
72
- * 📄 [License][License]
73
- * © [Copyright][Copyright]
74
- * 🤝 [Code of Conduct][Code of Conduct]
75
- * 📌 [Versioning][Versioning]
312
+ * Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
76
313
 
77
- [Convention-Over-Configuration]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/
78
- [Even-Major-Release]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/#even-major-release
79
- [How-To-Upgrade-Ruby]: https://rubocop-lts.gitlab.io/HOW_TO_UPGRADE_RUBY/
80
- [OrgHealth]: https://rubocop-lts.gitlab.io/#org-health-
81
- [Installation]: https://rubocop-lts.gitlab.io/#installation-
82
- [Usage]: https://rubocop-lts.gitlab.io/#usage-
83
- [Contributing]: https://rubocop-lts.gitlab.io/#contributing-
84
- [Contributors]: https://rubocop-lts.gitlab.io/#contributors-
85
- [License]: https://rubocop-lts.gitlab.io/#license-
86
- [Copyright]: https://rubocop-lts.gitlab.io/#copyright-
87
- [Code of Conduct]: https://rubocop-lts.gitlab.io/#code-of-conduct-
88
- [Versioning]: https://rubocop-lts.gitlab.io/#versioning-
89
- [rlts]: https://rubocop-lts.gitlab.io/
314
+ ## 🤝 Code of Conduct
90
315
 
91
- ### This README
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).
92
317
 
93
- This README has two jobs:
318
+ ## 📌 Versioning
94
319
 
95
- 1. Describe the branch you are reading right now.
96
- 2. Index the `rubocop-lts` branch stack so you can jump to the release line
97
- matching the oldest Ruby you still support.
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.
98
324
 
99
- * 🌳 [This Branch](#this-branch)
100
- * 🧭 [Branch Stack](#branch-stack)
101
- * 👩‍💻 [Project Health](#project-health)
102
- * ✨ [Installation](#installation)
103
- * 🔧 [Usage](#basic-usage)
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.
104
327
 
105
- ### This Branch 🌳
328
+ For example:
106
329
 
107
330
  <!-- FIND VERSION -->
108
- **This README is for the `rubocop-lts` 2.x line enforcing Ruby 1.9 style.**
109
-
110
- Use this branch when you want RuboCop to enforce syntax and style compatible
111
- with Ruby 1.9. For a different linting target, choose the matching
112
- branch and major version line from the table below.
113
-
114
- This gem configures many gems for you:
115
-
116
- - rubocop
117
- - rubocop-gradual
118
- - rubocop-md
119
- - rubocop-rake
120
- - rubocop-thread_safety
121
- - standard
122
- - standard-performance (incl. rubocop-performance)
123
- - standard-custom
124
- - standard-rubocop-lts (ruby version-specific rules)
125
-
126
- And optionally, if you are using RSpec:
127
-
128
- - rubocop-lts-rspec (which loads `rubocop-rspec`, `rubocop-rspec-extra`, `rubocop-env`, and `rubocop-factory_bot`)
129
-
130
- And optionally, if you are building a RubyGem:
131
-
132
- - rubocop-packaging
133
-
134
- And optionally, if you are building a Rails app:
135
-
136
- - standard-rails (incl. rubocop-rails)
137
- - betterlint
138
-
139
- ### Branch Stack 🧭
140
-
141
- Each even-numbered `rubocop-lts` major version is maintained on a branch named
142
- for the Ruby syntax and style it teaches RuboCop to enforce. This is a linting
143
- target, not a promise that the gem's own runtime dependencies execute on that
144
- Ruby.
145
-
146
- | Ruby Style Enforced | `rubocop-lts` line | Branch |
147
- |---------------------|--------------------|--------|
148
- | Ruby 1.8 | 0.x | [`r1_8-even-v0`](https://github.com/rubocop-lts/rubocop-lts/tree/r1_8-even-v0) |
149
- | Ruby 1.9 | 2.x | [`r1_9-even-v2`](https://github.com/rubocop-lts/rubocop-lts/tree/r1_9-even-v2) |
150
- | Ruby 2.0 | 4.x | [`r2_0-even-v4`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_0-even-v4) |
151
- | Ruby 2.1 | 6.x | [`r2_1-even-v6`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_1-even-v6) |
152
- | Ruby 2.2 | 8.x | [`r2_2-even-v8`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_2-even-v8) |
153
- | Ruby 2.3 | 10.x | [`r2_3-even-v10`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_3-even-v10) |
154
- | Ruby 2.4 | 12.x | [`r2_4-even-v12`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_4-even-v12) |
155
- | Ruby 2.5 | 14.x | [`r2_5-even-v14`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_5-even-v14) |
156
- | Ruby 2.6 | 16.x | [`r2_6-even-v16`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_6-even-v16) |
157
- | Ruby 2.7 | 18.x | [`r2_7-even-v18`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_7-even-v18) |
158
- | Ruby 3.0 | 20.x | [`r3_0-even-v20`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_0-even-v20) |
159
- | Ruby 3.1 | 22.x | [`r3_1-even-v22`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_1-even-v22) |
160
- | Ruby 3.2 | 24.x | [`r3_2-even-v24`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_2-even-v24) |
161
-
162
- `main` is intentionally part of templating work so it can seed the next stacked
163
- branch, but release and install workflows should use the released branch line
164
- that matches your Ruby floor.
165
-
166
- ### Project Health 👩‍💻
167
-
168
- | Gem Name | Version | Downloads | CI | Activity |
169
- |------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
170
- | [`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] |
171
- | [`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] |
172
- | [`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] |
173
- | [`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] |
174
- | [`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] |
175
- | [`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] |
176
- | [`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] |
177
- | [`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] |
178
- | [`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] |
179
- | [`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] |
180
- | [`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] |
181
- | [`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] |
182
- | [`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] |
183
- | [`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] |
184
- | [`standard-rubocop-lts`][⛳️stdrlts-gh] | [![Gem Version][⛳️stdrlts-vi]][⛳️stdrlts-g] | [![Total DL][🖇️stdrlts-dti]][⛳️stdrlts-g] [![DL Rank][🏘️stdrlts-rti]][⛳️stdrlts-g] | [![Current][🚎stdrlts-cwfi]][🚎stdrlts-cwf] [![Heads][🖐stdrlts-hwfi]][🖐stdrlts-hwf] | [![Open Issues][📗stdrlts-ioi]][📗stdrlts-io] [![Closed Issues][🚀stdrlts-ici]][🚀stdrlts-ic] [![Open PRs][💄stdrlts-poi]][💄stdrlts-po] [![Closed PRs][👽stdrlts-pci]][👽stdrlts-pc] |
331
+ ```ruby
332
+ spec.add_dependency "rubocop-lts", "~> 3.0"
333
+ ```
334
+
335
+
336
+ <!-- columnar badge #s for Project Health table:
337
+ ⛳️
338
+ 🖇
339
+ 🏘
340
+ 🚎
341
+ 🖐
342
+ 🧮
343
+ 📗
344
+ 🚀
345
+ 💄
346
+ 👽
347
+ -->
185
348
 
186
349
  [⛳️lts-vi]: http://img.shields.io/gem/v/rubocop-lts.svg
187
350
  [🖇️lts-dti]: https://img.shields.io/gem/dt/rubocop-lts.svg
@@ -190,6 +353,8 @@ that matches your Ruby floor.
190
353
  [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
191
354
  [🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
192
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
193
358
  [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
194
359
  [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
195
360
  [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
@@ -200,23 +365,6 @@ that matches your Ruby floor.
200
365
  [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
201
366
  [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
202
367
  [⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
203
- [⛳️18-vi]: http://img.shields.io/gem/v/rubocop-ruby1_8.svg
204
- [🖇️18-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_8.svg
205
- [🏘️18-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_8.svg
206
- [🚎18-cwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
207
- [🚎18-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
208
- [🖐18-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
209
- [🖐18-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
210
- [📗18-io]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
211
- [📗18-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_8
212
- [🚀18-ic]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues?q=is%3Aissue+is%3Aclosed
213
- [🚀18-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby1_8
214
- [💄18-po]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
215
- [💄18-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby1_8
216
- [👽18-pc]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls?q=is%3Apr+is%3Aclosed
217
- [👽18-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby1_8
218
- [⛳️18-g]: https://rubygems.org/gems/rubocop-ruby1_8
219
- [⛳️18-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
220
368
  [⛳️19-vi]: http://img.shields.io/gem/v/rubocop-ruby1_9.svg
221
369
  [🖇️19-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_9.svg
222
370
  [🏘️19-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_9.svg
@@ -224,6 +372,8 @@ that matches your Ruby floor.
224
372
  [🚎19-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/current.yml/badge.svg
225
373
  [🖐19-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml
226
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
227
377
  [📗19-io]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues
228
378
  [📗19-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_9
229
379
  [🚀19-ic]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues?q=is%3Aissue+is%3Aclosed
@@ -241,6 +391,8 @@ that matches your Ruby floor.
241
391
  [🚎20-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
242
392
  [🖐20-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
243
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
244
396
  [📗20-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
245
397
  [📗20-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
246
398
  [🚀20-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
@@ -258,6 +410,8 @@ that matches your Ruby floor.
258
410
  [🚎21-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/current.yml/badge.svg
259
411
  [🖐21-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml
260
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
261
415
  [📗21-io]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues
262
416
  [📗21-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_1
263
417
  [🚀21-ic]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues?q=is%3Aissue+is%3Aclosed
@@ -275,6 +429,8 @@ that matches your Ruby floor.
275
429
  [🚎22-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
276
430
  [🖐22-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
277
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
278
434
  [📗22-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
279
435
  [📗22-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
280
436
  [🚀22-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
@@ -292,6 +448,8 @@ that matches your Ruby floor.
292
448
  [🚎23-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/current.yml/badge.svg
293
449
  [🖐23-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml
294
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
295
453
  [📗23-io]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues
296
454
  [📗23-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_3
297
455
  [🚀23-ic]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues?q=is%3Aissue+is%3Aclosed
@@ -309,6 +467,8 @@ that matches your Ruby floor.
309
467
  [🚎24-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/current.yml/badge.svg
310
468
  [🖐24-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml
311
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
312
472
  [📗24-io]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues
313
473
  [📗24-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_4
314
474
  [🚀24-ic]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues?q=is%3Aissue+is%3Aclosed
@@ -326,6 +486,8 @@ that matches your Ruby floor.
326
486
  [🚎25-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/current.yml/badge.svg
327
487
  [🖐25-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml
328
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
329
491
  [📗25-io]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues
330
492
  [📗25-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_5
331
493
  [🚀25-ic]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues?q=is%3Aissue+is%3Aclosed
@@ -343,6 +505,8 @@ that matches your Ruby floor.
343
505
  [🚎26-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/current.yml/badge.svg
344
506
  [🖐26-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml
345
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
346
510
  [📗26-io]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues
347
511
  [📗26-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_6
348
512
  [🚀26-ic]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues?q=is%3Aissue+is%3Aclosed
@@ -360,6 +524,8 @@ that matches your Ruby floor.
360
524
  [🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
361
525
  [🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
362
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
363
529
  [📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
364
530
  [📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
365
531
  [🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
@@ -377,6 +543,8 @@ that matches your Ruby floor.
377
543
  [🚎30-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/current.yml/badge.svg
378
544
  [🖐30-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml
379
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
380
548
  [📗30-io]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues
381
549
  [📗30-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_0
382
550
  [🚀30-ic]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues?q=is%3Aissue+is%3Aclosed
@@ -394,6 +562,8 @@ that matches your Ruby floor.
394
562
  [🚎31-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/current.yml/badge.svg
395
563
  [🖐31-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml
396
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
397
567
  [📗31-io]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues
398
568
  [📗31-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_1
399
569
  [🚀31-ic]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues?q=is%3Aissue+is%3Aclosed
@@ -411,6 +581,8 @@ that matches your Ruby floor.
411
581
  [🚎32-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/current.yml/badge.svg
412
582
  [🖐32-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml
413
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
414
586
  [📗32-io]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues
415
587
  [📗32-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_2
416
588
  [🚀32-ic]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues?q=is%3Aissue+is%3Aclosed
@@ -421,519 +593,61 @@ that matches your Ruby floor.
421
593
  [👽32-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby3_2
422
594
  [⛳️32-g]: https://rubygems.org/gems/rubocop-ruby3_2
423
595
  [⛳️32-gh]: https://github.com/rubocop-lts/rubocop-ruby3_2
424
- [⛳️stdrlts-vi]: http://img.shields.io/gem/v/standard-rubocop-lts.svg
425
- [🖇️stdrlts-dti]: https://img.shields.io/gem/dt/standard-rubocop-lts.svg
426
- [🏘️stdrlts-rti]: https://img.shields.io/gem/rt/standard-rubocop-lts.svg
427
- [🚎stdrlts-cwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/current.yml
428
- [🚎stdrlts-cwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/current.yml/badge.svg
429
- [🖐stdrlts-hwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/heads.yml
430
- [🖐stdrlts-hwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/heads.yml/badge.svg
431
- [🧮stdrlts-lwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/legacy.yml
432
- [🧮stdrlts-lwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/legacy.yml/badge.svg
433
- [📗stdrlts-io]: https://github.com/rubocop-lts/standard-rubocop-lts/issues
434
- [📗stdrlts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/standard-rubocop-lts
435
- [🚀stdrlts-ic]: https://github.com/rubocop-lts/standard-rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
436
- [🚀stdrlts-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/standard-rubocop-lts
437
- [💄stdrlts-po]: https://github.com/rubocop-lts/standard-rubocop-lts/pulls
438
- [💄stdrlts-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/standard-rubocop-lts
439
- [👽stdrlts-pc]: https://github.com/rubocop-lts/standard-rubocop-lts/pulls?q=is%3Apr+is%3Aclosed
440
- [👽stdrlts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/standard-rubocop-lts
441
- [⛳️stdrlts-g]: https://rubygems.org/gems/standard-rubocop-lts
442
- [⛳️stdrlts-gh]: https://github.com/rubocop-lts/standard-rubocop-lts
443
596
 
444
- [aboutme]: https://about.me/peter.boling
445
- [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
446
- [angelme]: https://angel.co/peter-boling
447
- [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
448
- [codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-lts
449
- [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
450
- [chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
451
- [climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/test_coverage
452
- [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
453
597
  [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
454
- [conduct]: https://gitlab.com/rubocop-lts/rubocop-lts/-/blob/main/CODE_OF_CONDUCT.md
455
- [devto]: https://dev.to/galtzo
456
- [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
457
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
458
- [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
459
- [gh_sponsors]: https://github.com/sponsors/pboling
460
- [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
461
- [liberapay_donate]: https://liberapay.com/pboling/donate
462
- [license-ref]: https://opensource.org/licenses/MIT
463
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
464
- [peterboling]: http://www.peterboling.com
465
- [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
466
- [railsbling]: http://www.railsbling.com
467
- [rubygems]: https://rubygems.org/gems/rubocop-lts
468
- [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
469
- [semver]: http://semver.org/
470
- [source]: https://github.com/rubocop-lts/rubocop-lts/
471
- [tweetme]: http://twitter.com/galtzo
472
-
473
- ## 💡 Info you can shake a stick at
474
-
475
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
476
- |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
477
- | Works with JRuby | [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
478
- | Works with Truffle Ruby | [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
479
- | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
480
- | Works with MRI Ruby 3 | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
481
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
482
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on GitHub.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
483
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
484
- | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
485
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
486
- | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
487
- | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
488
-
489
- ### Compatibility
490
-
491
- Compatible with MRI Ruby 3.2+, JRuby, and TruffleRuby.
492
- CI workflows and Appraisals are generated for MRI Ruby 3.2+.
493
- This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
494
- may be higher than the gem's runtime compatibility floor when legacy Rubies are
495
- not practical for the current toolchain.
496
-
497
- <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
498
-
499
- The _amazing_ test matrix is powered by the kettle-dev stack.
500
-
501
- <details markdown="1">
502
- <summary>How kettle-dev manages complexity in tests</summary>
503
-
504
- | Gem | Source | Role | Total downloads |
505
- |-----|--------|------|---------------------|
506
- | [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Total downloads for appraisal2](https://img.shields.io/gem/dt/appraisal2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2) |
507
- | [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Total downloads for appraisal2-rubocop](https://img.shields.io/gem/dt/appraisal2-rubocop.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
508
- | [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Total downloads for kettle-dev](https://img.shields.io/gem/dt/kettle-dev.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
509
- | [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Total downloads for kettle-jem](https://img.shields.io/gem/dt/kettle-jem.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
510
- | [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Total downloads for kettle-soup-cover](https://img.shields.io/gem/dt/kettle-soup-cover.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
511
- | [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Total downloads for kettle-test](https://img.shields.io/gem/dt/kettle-test.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-test) |
512
- | [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Total downloads for turbo_tests2](https://img.shields.io/gem/dt/turbo_tests2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
513
-
514
- </details>
515
-
516
- ### Federated DVCS
517
-
518
- <details markdown="1">
519
- <summary>Find this repo on federated forges (Coming soon!)</summary>
520
-
521
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
522
- |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
523
- | 🧪 [rubocop-lts/rubocop-lts on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
524
- | 🧊 [rubocop-lts/rubocop-lts on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
525
- | 🐙 [rubocop-lts/rubocop-lts on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
526
-
527
- </details>
528
-
529
- ### Enterprise Support
530
-
531
- [![Tidelift](https://tidelift.com/badges/package/rubygems/rubocop-lts)](https://tidelift.com/subscription/pkg/rubygems-rubocop-lts?utm_source=rubygems-rubocop-lts&utm_medium=referral&utm_campaign=readme)
532
598
 
533
- Available as part of the Tidelift Subscription.
534
-
535
- <details markdown="1">
536
- <summary>Need enterprise-level guarantees?</summary>
537
-
538
- The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
539
-
540
- [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
541
-
542
- - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
543
- - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
544
- - 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
545
-
546
- Alternatively:
547
-
548
- - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
549
- - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
550
- - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
551
- - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
552
-
553
- </details>
554
-
555
- ## ✨ Installation
556
-
557
- Install the gem and add to the application's Gemfile by executing:
558
-
559
- ```console
560
- bundle add rubocop-lts
561
- ```
562
-
563
- If bundler is not being used to manage dependencies, install the gem by executing:
564
-
565
- ```console
566
- gem install rubocop-lts
567
- ```
568
-
569
- ## ⚙️ Configuration
570
-
571
- Please see the primary configuration and usage documentation.
572
-
573
- * 🔧 Primary [Configuration and Usage Documentation][Usage].
574
-
575
- ## 🔧 Basic Usage
576
-
577
- Please see the primary configuration and usage documentation.
578
-
579
- * 🔧 Primary [Configuration and Usage Documentation][Usage].
580
-
581
- ## 🦷 FLOSS Funding
582
-
583
- While rubocop-lts tools are free software and will always be, the project would benefit immensely from some funding.
584
- Raising a monthly budget of... "dollars" would make the project more sustainable.
585
-
586
- We welcome both individual and corporate sponsors! We also offer a
587
- wide array of funding channels to account for your preferences.
588
- Currently, [Open Collective][🖇osc] is our preferred funding platform.
589
-
590
- **If you're working in a company that's making significant use of rubocop-lts tools we'd
591
- appreciate it if you suggest to your company to become a rubocop-lts sponsor.**
592
-
593
- You can support the development of rubocop-lts tools via
594
- [GitHub Sponsors][🖇sponsor],
595
- [Liberapay][⛳liberapay],
596
- [PayPal][🖇paypal],
597
- [Open Collective][🖇osc]
598
- and [Tidelift][🏙️entsup-tidelift].
599
-
600
- | 📍 NOTE |
601
- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
602
- | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
603
-
604
- ### Open Collective for Individuals
605
-
606
- Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/rubocop-lts#backer)]
607
-
608
- NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
609
-
610
- <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
611
- No backers yet. Be the first!
612
- <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
613
-
614
- ### Open Collective for Organizations
615
-
616
- Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/rubocop-lts#sponsor)]
617
-
618
- NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
619
-
620
- <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
621
- No sponsors yet. Be the first!
622
- <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
623
-
624
- [kettle-readme-backers]: https://github.com/rubocop-lts/rubocop-lts/blob/main/bin/kettle-readme-backers
625
-
626
- ### Another way to support open-source
627
-
628
- I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
629
-
630
- If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
631
-
632
- I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
633
-
634
- **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
635
-
636
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
637
-
638
- ## 🔐 Security
639
-
640
- See [SECURITY.md][🔐security].
641
-
642
- ## 🤝 Contributing
643
-
644
- If you need some ideas of where to help, you could work on adding more code coverage,
645
- check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
646
-
647
- We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
648
-
649
- See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
650
-
651
- ### 🚀 Release Instructions
652
-
653
- See [CONTRIBUTING.md][🤝contributing].
654
-
655
- ### Code Coverage
656
-
657
- <details markdown="1">
658
- <summary>Coverage service badges</summary>
659
-
660
- [![Coverage Graph][🏀codecov-g]][🏀codecov]
599
+ [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
661
600
 
662
- [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
601
+ [conduct]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md
663
602
 
664
- [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
603
+ [contributing]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CONTRIBUTING.md
665
604
 
666
- </details>
605
+ [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
667
606
 
668
- ### 🪇 Code of Conduct
607
+ [license]: https://github.com/rubocop-lts/rubocop-lts/blob/main/LICENSE.txt
669
608
 
670
- Everyone interacting with this project's codebases, issue trackers,
671
- chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
609
+ [license-ref]: https://opensource.org/licenses/MIT
672
610
 
673
- ## 🌈 Contributors
611
+ [semver]: http://semver.org/
674
612
 
675
- [![Contributors][🖐contributors-img]][🖐contributors]
613
+ [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
676
614
 
677
- Made with [contributors-img][🖐contrib-rocks].
615
+ [railsbling]: http://www.railsbling.com
678
616
 
679
- Also see GitLab Contributors: [https://gitlab.com/rubocop-lts/rubocop-lts/-/graphs/main][🚎contributors-gl]
617
+ [peterboling]: http://www.peterboling.com
680
618
 
681
- ## 📌 Versioning
619
+ [aboutme]: https://about.me/peter.boling
682
620
 
683
- This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
684
- For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
621
+ [angelme]: https://angel.co/peter-boling
685
622
 
686
- For example:
623
+ [coderme]:http://coderwall.com/pboling
687
624
 
688
- ```ruby
689
- spec.add_dependency("rubocop-lts", "~> 2.0")
690
- ```
625
+ [followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
691
626
 
692
- <details markdown="1">
693
- <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
627
+ [tweetme]: http://twitter.com/galtzo
694
628
 
695
- Dropping support for a platform can be a breaking change for affected users.
696
- If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
629
+ [politicme]: https://nationalprogressiveparty.org
697
630
 
698
- To get a better understanding of how SemVer is intended to work over a project's lifetime,
699
- read this article from the creator of SemVer:
631
+ [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
700
632
 
701
- - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
633
+ [source]: https://github.com/rubocop-lts/rubocop-lts/
702
634
 
703
- </details>
635
+ [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
704
636
 
705
- See [CHANGELOG.md][📌changelog] for a list of releases.
637
+ [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
706
638
 
707
- ## 📄 License
639
+ [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
708
640
 
709
- The gem is available as open source under the terms of
710
- the [MIT](https://github.com/rubocop-lts/rubocop-lts/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
641
+ [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
711
642
 
712
- ### © Copyright
643
+ [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
713
644
 
714
- See [LICENSE.md][📄license] for the official copyright notice.
645
+ [rubygems]: https://rubygems.org/gems/rubocop-lts
715
646
 
716
- <details markdown="1">
717
- <summary>Copyright holders</summary>
647
+ [chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
718
648
 
719
- - Copyright (c) 2022-2023, 2026 Peter H. Boling
649
+ [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
720
650
 
721
- </details>
651
+ [liberapay_donate]: https://liberapay.com/pboling/donate
722
652
 
723
- ## 🤑 A request for help
724
-
725
- Maintainers have teeth and need to pay their dentists.
726
- After getting laid off in an RIF in March, and encountering difficulty finding a new one,
727
- I began spending most of my time building open source tools.
728
- I'm hoping to be able to pay for my kids' health insurance this month,
729
- so if you value the work I am doing, I need your support.
730
- Please consider sponsoring me or the project.
731
-
732
- To join the community or get help, use the RubyForum or Discord.
733
-
734
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
735
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
736
-
737
- To say "thanks!" ☝️ Join the community or 👇️ send money.
738
-
739
- [![Sponsor rubocop-lts/rubocop-lts on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
740
-
741
- ### Please give the project a star ⭐ ♥.
742
-
743
- Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
744
-
745
- Thanks for RTFM. ☺️
746
-
747
- [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
748
- [🖇osc-all-img]: https://img.shields.io/opencollective/all/rubocop-lts
749
- [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts
750
- [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/rubocop-lts
751
- [🖇osc-backers]: https://opencollective.com/rubocop-lts#backer
752
- [🖇osc-backers-i]: https://opencollective.com/rubocop-lts/backers/badge.svg?style=flat
753
- [🖇osc-sponsors]: https://opencollective.com/rubocop-lts#sponsor
754
- [🖇osc-sponsors-i]: https://opencollective.com/rubocop-lts/sponsors/badge.svg?style=flat
755
- [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/rubocop-lts?style=for-the-badge
756
- [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts?style=for-the-badge
757
- [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/rubocop-lts?style=for-the-badge
758
- [🖇osc]: https://opencollective.com/rubocop-lts
759
- [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
760
- [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
761
- [🖇kofi]: https://ko-fi.com/pboling
762
- [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
763
- [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
764
- [🖇buyme]: https://www.buymeacoffee.com/pboling
765
- [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
766
- [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
767
- [🖇paypal]: https://www.paypal.com/paypalme/peterboling
768
- [🖇floss-funding.dev]: https://floss-funding.dev
769
- [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
770
- [✉️discord-invite]: https://discord.gg/3qme4XHNKN
771
- [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
772
- [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
773
- [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
774
- [✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
775
- [✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
776
- [✉️ruby-forum]: https://www.rubyforum.org/tag/rubocop-lts
777
-
778
- [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
779
- [⛳️gem-namespace]: https://github.com/rubocop-lts/rubocop-lts
780
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-Rubocop::Lts-3C2D2D.svg?style=square&logo=ruby&logoColor=white
781
- [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/rubocop-lts
782
- [⛳️name-img]: https://img.shields.io/badge/name-rubocop--lts-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
783
- [⛳️tag-img]: https://img.shields.io/github/tag/rubocop-lts/rubocop-lts.svg
784
- [⛳️tag]: https://github.com/rubocop-lts/rubocop-lts/releases
785
- [🚂maint-blog]: http://www.railsbling.com/tags/rubocop-lts
786
- [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
787
- [🚂maint-contact]: http://www.railsbling.com/contact
788
- [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
789
- [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
790
- [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
791
- [💖✌️wellfound]: https://wellfound.com/u/peter-boling
792
- [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
793
- [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
794
- [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
795
- [💖🐘ruby-mast]: https://ruby.social/@galtzo
796
- [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
797
- [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
798
- [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
799
- [💖🌳linktree]: https://linktr.ee/galtzo
800
- [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
801
- [💖💁🏼‍♂️devto]: https://dev.to/galtzo
802
- [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
803
- [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
804
- [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
805
- [💖🧊berg]: https://codeberg.org/pboling
806
- [💖🐙hub]: https://github.org/pboling
807
- [💖🛖hut]: https://sr.ht/~galtzo/
808
- [💖🧪lab]: https://gitlab.com/pboling
809
- [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
810
- [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
811
- [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
812
- [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
813
- [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-rubocop-lts?utm_source=rubygems-rubocop-lts&utm_medium=referral&utm_campaign=readme
814
- [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
815
- [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
816
- [💁🏼‍♂️peterboling]: http://www.peterboling.com
817
- [🚂railsbling]: http://www.railsbling.com
818
- [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
819
- [📜src-gl]: https://gitlab.com/rubocop-lts/rubocop-lts
820
- [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
821
- [📜src-cb]: https://codeberg.org/rubocop-lts/rubocop-lts
822
- [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
823
- [📜src-gh]: https://github.com/rubocop-lts/rubocop-lts
824
- [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
825
- [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
826
- [📜gl-wiki]: https://gitlab.com/rubocop-lts/rubocop-lts/-/wikis/home
827
- [📜gh-wiki]: https://github.com/rubocop-lts/rubocop-lts/wiki
828
- [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
829
- [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
830
- [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/rubocop-lts
831
- [👽dl-ranki]: https://img.shields.io/gem/dt/rubocop-lts.svg
832
- [👽version]: https://clickgems.clickhouse.com/dashboard/rubocop-lts
833
- [👽versioni]: https://img.shields.io/gem/v/rubocop-lts.svg
834
- [🏀qlty-mnt]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts
835
- [🏀qlty-mnti]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts/maintainability.svg
836
- [🏀qlty-cov]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts/metrics/code?sort=coverageRating
837
- [🏀qlty-covi]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts/coverage.svg
838
- [🏀codecov]: https://codecov.io/gh/rubocop-lts/rubocop-lts
839
- [🏀codecovi]: https://codecov.io/gh/rubocop-lts/rubocop-lts/graph/badge.svg
840
- [🏀coveralls]: https://coveralls.io/github/rubocop-lts/rubocop-lts?branch=main
841
- [🏀coveralls-img]: https://coveralls.io/repos/github/rubocop-lts/rubocop-lts/badge.svg?branch=main
842
- [🚎ruby-3.2-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/ruby-3.2.yml
843
- [🚎ruby-3.3-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/ruby-3.3.yml
844
- [🚎ruby-3.4-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/ruby-3.4.yml
845
- [🚎jruby-10.0-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/jruby-10.0.yml
846
- [🚎truby-24.2-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/truffleruby-24.2.yml
847
- [🚎truby-25.0-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/truffleruby-25.0.yml
848
- [🚎truby-33.0-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/truffleruby-33.0.yml
849
- [🚎2-cov-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/coverage.yml
850
- [🚎2-cov-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/coverage.yml/badge.svg
851
- [🚎3-hd-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
852
- [🚎3-hd-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml/badge.svg
853
- [🚎5-st-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/style.yml
854
- [🚎5-st-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/style.yml/badge.svg
855
- [🚎9-t-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/truffle.yml
856
- [🚎9-t-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/truffle.yml/badge.svg
857
- [🚎10-j-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/jruby.yml
858
- [🚎10-j-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/jruby.yml/badge.svg
859
- [🚎11-c-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml
860
- [🚎11-c-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
861
- [🚎12-crh-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/dep-heads.yml
862
- [🚎12-crh-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/dep-heads.yml/badge.svg
863
- [🚎13-🔒️-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/locked_deps.yml
864
- [🚎13-🔒️-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/locked_deps.yml/badge.svg
865
- [🚎14-🔓️-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/unlocked_deps.yml
866
- [🚎14-🔓️-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/unlocked_deps.yml/badge.svg
867
- [🚎15-🪪-wf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/license-eye.yml
868
- [🚎15-🪪-wfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/license-eye.yml/badge.svg
869
- [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
870
- [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
871
- [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
872
- [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
873
- [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
874
- [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
875
- [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
876
- [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
877
- [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
878
- [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
879
- [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
880
- [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
881
- [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
882
- [🤝gh-issues]: https://github.com/rubocop-lts/rubocop-lts/issues
883
- [🤝gh-pulls]: https://github.com/rubocop-lts/rubocop-lts/pulls
884
- [🤝gl-issues]: https://gitlab.com/rubocop-lts/rubocop-lts/-/issues
885
- [🤝gl-pulls]: https://gitlab.com/rubocop-lts/rubocop-lts/-/merge_requests
886
- [🤝cb-issues]: https://codeberg.org/rubocop-lts/rubocop-lts/issues
887
- [🤝cb-pulls]: https://codeberg.org/rubocop-lts/rubocop-lts/pulls
888
- [🤝cb-donate]: https://donate.codeberg.org/
889
- [🤝contributing]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CONTRIBUTING.md
890
- [🏀codecov-g]: https://codecov.io/gh/rubocop-lts/rubocop-lts/graph/badge.svg
891
- [🖐contrib-rocks]: https://contrib.rocks
892
- [🖐contributors]: https://github.com/rubocop-lts/rubocop-lts/graphs/contributors
893
- [🖐contributors-img]: https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts
894
- [🚎contributors-gl]: https://gitlab.com/rubocop-lts/rubocop-lts/-/graphs/main
895
- [🪇conduct]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md
896
- [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
897
- [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
898
- [📌semver]: https://semver.org/spec/v2.0.0.html
899
- [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
900
- [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
901
- [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
902
- [📌changelog]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CHANGELOG.md
903
- [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
904
- [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
905
- [📌gitmoji]: https://gitmoji.dev
906
- [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
907
- [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
908
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.015-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
909
- [🔐security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
910
- [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
911
- [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
912
- [📄license]: LICENSE.md
913
- [📄license-ref]: https://github.com/rubocop-lts/rubocop-lts/blob/main/MIT.md
914
- [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
915
- [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
916
- [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
917
-
918
- [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
919
- [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
920
- [🚎yard-current]: http://rubydoc.info/gems/rubocop-lts
921
- [🚎yard-head]: https://rubocop-lts.galtzo.com
922
- [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
923
- [💎SHA_checksums]: https://gitlab.com/rubocop-lts/rubocop-lts/-/tree/main/checksums
924
- [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
925
- [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
926
- [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
927
- [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
928
- [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
929
-
930
- <!-- kettle-jem:metadata:start -->
931
- | Field | Value |
932
- |---|---|
933
- | Package | rubocop-lts |
934
- | Description | 🦾 Configure RuboCop + a bevy of friends to gradually lint Ruby code |
935
- | Homepage | https://github.com/rubocop-lts/rubocop-lts |
936
- | Source | https://github.com/rubocop-lts/rubocop-lts |
937
- | License | `MIT` |
938
- | Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/rubocop-lts, https://thanks.dev/u/gh/rubocop-lts, https://tidelift.com/funding/github/rubygems/rubocop-lts, https://www.buymeacoffee.com/pboling |
939
- <!-- kettle-jem:metadata:end -->
653
+ [gh_sponsors]: https://github.com/sponsors/pboling