rubocop-lts 4.3.7 → 5.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,183 +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.1.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', '~> 5.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
 
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
57
309
 
58
- ### Quick Links
310
+ ### © Copyright
59
311
 
60
- * 🌱 [Convention > Configuration][Convention-Over-Configuration]
61
- * 🌱 [Releases][Even-Major-Release]
62
- * 🌱 [How to Upgrade Ruby (1.8 to 3.2)!][How-To-Upgrade-Ruby]
63
- * 👩‍💻 [Org Health][OrgHealth]
64
- * ✨ [Installation][Installation]
65
- * 🔧 [Usage][Usage]
66
- * ⚡️ [Contributing][Contributing]
67
- * 🌈 [Contributors][Contributors]
68
- * 📄 [License][License]
69
- * © [Copyright][Copyright]
70
- * 🤝 [Code of Conduct][Code of Conduct]
71
- * 📌 [Versioning][Versioning]
312
+ * Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
72
313
 
73
- [Convention-Over-Configuration]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/
74
- [Even-Major-Release]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/#even-major-release
75
- [How-To-Upgrade-Ruby]: https://rubocop-lts.gitlab.io/HOW_TO_UPGRADE_RUBY/
76
- [OrgHealth]: https://rubocop-lts.gitlab.io/#org-health-
77
- [Installation]: https://rubocop-lts.gitlab.io/#installation-
78
- [Usage]: https://rubocop-lts.gitlab.io/#usage-
79
- [Contributing]: https://rubocop-lts.gitlab.io/#contributing-
80
- [Contributors]: https://rubocop-lts.gitlab.io/#contributors-
81
- [License]: https://rubocop-lts.gitlab.io/#license-
82
- [Copyright]: https://rubocop-lts.gitlab.io/#copyright-
83
- [Code of Conduct]: https://rubocop-lts.gitlab.io/#code-of-conduct-
84
- [Versioning]: https://rubocop-lts.gitlab.io/#versioning-
85
- [rlts]: https://rubocop-lts.gitlab.io/
314
+ ## 🤝 Code of Conduct
86
315
 
87
- ### 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).
88
317
 
89
- This README has two jobs:
318
+ ## 📌 Versioning
90
319
 
91
- 1. Describe the branch you are reading right now.
92
- 2. Index the `rubocop-lts` branch stack so you can jump to the release line
93
- 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.
94
324
 
95
- * 🌳 [This Branch](#this-branch)
96
- * 🧭 [Branch Stack](#branch-stack)
97
- * 👩‍💻 [Project Health](#project-health)
98
- * ✨ [Installation](#installation)
99
- * 🔧 [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.
100
327
 
101
- ### This Branch 🌳
328
+ For example:
102
329
 
103
330
  <!-- FIND VERSION -->
104
- **This README is for the `rubocop-lts` 4.x line enforcing Ruby 2.0 style.**
105
-
106
- Use this branch when you want RuboCop to enforce syntax and style compatible
107
- with Ruby 2.0. For a different linting target, choose the matching
108
- branch and major version line from the table below.
109
-
110
- This gem configures many gems for you:
111
-
112
- - rubocop
113
- - rubocop-gradual
114
- - rubocop-md
115
- - rubocop-rake
116
- - rubocop-thread_safety
117
- - standard
118
- - standard-performance (incl. rubocop-performance)
119
- - standard-custom
120
- - standard-rubocop-lts (ruby version-specific rules)
121
-
122
- And optionally, if you are using RSpec:
123
-
124
- - rubocop-lts-rspec (which loads `rubocop-rspec`, `rubocop-rspec-extra`, `rubocop-env`, and `rubocop-factory_bot`)
125
-
126
- And optionally, if you are building a RubyGem:
127
-
128
- - rubocop-packaging
129
-
130
- And optionally, if you are building a Rails app:
131
-
132
- - standard-rails (incl. rubocop-rails)
133
- - betterlint
134
-
135
- ### Branch Stack 🧭
136
-
137
- Each even-numbered `rubocop-lts` major version is maintained on a branch named
138
- for the Ruby syntax and style it teaches RuboCop to enforce. This is a linting
139
- target, not a promise that the gem's own runtime dependencies execute on that
140
- Ruby.
141
-
142
- | Ruby Style Enforced | `rubocop-lts` line | Branch |
143
- |---------------------|--------------------|--------|
144
- | Ruby 1.8 | 0.x | [`r1_8-even-v0`](https://github.com/rubocop-lts/rubocop-lts/tree/r1_8-even-v0) |
145
- | Ruby 1.9 | 2.x | [`r1_9-even-v2`](https://github.com/rubocop-lts/rubocop-lts/tree/r1_9-even-v2) |
146
- | Ruby 2.0 | 4.x | [`r2_0-even-v4`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_0-even-v4) |
147
- | Ruby 2.1 | 6.x | [`r2_1-even-v6`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_1-even-v6) |
148
- | Ruby 2.2 | 8.x | [`r2_2-even-v8`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_2-even-v8) |
149
- | Ruby 2.3 | 10.x | [`r2_3-even-v10`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_3-even-v10) |
150
- | Ruby 2.4 | 12.x | [`r2_4-even-v12`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_4-even-v12) |
151
- | Ruby 2.5 | 14.x | [`r2_5-even-v14`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_5-even-v14) |
152
- | Ruby 2.6 | 16.x | [`r2_6-even-v16`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_6-even-v16) |
153
- | Ruby 2.7 | 18.x | [`r2_7-even-v18`](https://github.com/rubocop-lts/rubocop-lts/tree/r2_7-even-v18) |
154
- | Ruby 3.0 | 20.x | [`r3_0-even-v20`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_0-even-v20) |
155
- | Ruby 3.1 | 22.x | [`r3_1-even-v22`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_1-even-v22) |
156
- | Ruby 3.2 | 24.x | [`r3_2-even-v24`](https://github.com/rubocop-lts/rubocop-lts/tree/r3_2-even-v24) |
157
-
158
- `main` is intentionally part of templating work so it can seed the next stacked
159
- branch, but release and install workflows should use the released branch line
160
- that matches your Ruby floor.
161
-
162
- ### Project Health 👩‍💻
163
-
164
- | Gem Name | Version | Downloads | CI | Activity |
165
- |------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
166
- | [`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] |
167
- | [`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] |
168
- | [`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] |
169
- | [`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] |
170
- | [`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] |
171
- | [`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] |
172
- | [`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] |
173
- | [`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] |
174
- | [`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] |
175
- | [`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] |
176
- | [`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] |
177
- | [`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] |
178
- | [`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] |
179
- | [`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] |
180
- | [`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", "~> 5.0"
333
+ ```
334
+
335
+
336
+ <!-- columnar badge #s for Project Health table:
337
+ ⛳️
338
+ 🖇
339
+ 🏘
340
+ 🚎
341
+ 🖐
342
+ 🧮
343
+ 📗
344
+ 🚀
345
+ 💄
346
+ 👽
347
+ -->
181
348
 
182
349
  [⛳️lts-vi]: http://img.shields.io/gem/v/rubocop-lts.svg
183
350
  [🖇️lts-dti]: https://img.shields.io/gem/dt/rubocop-lts.svg
@@ -186,6 +353,8 @@ that matches your Ruby floor.
186
353
  [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
187
354
  [🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
188
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
189
358
  [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
190
359
  [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
191
360
  [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
@@ -196,23 +365,6 @@ that matches your Ruby floor.
196
365
  [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
197
366
  [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
198
367
  [⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
199
- [⛳️18-vi]: http://img.shields.io/gem/v/rubocop-ruby1_8.svg
200
- [🖇️18-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_8.svg
201
- [🏘️18-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_8.svg
202
- [🚎18-cwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
203
- [🚎18-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
204
- [🖐18-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
205
- [🖐18-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
206
- [📗18-io]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
207
- [📗18-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_8
208
- [🚀18-ic]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues?q=is%3Aissue+is%3Aclosed
209
- [🚀18-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby1_8
210
- [💄18-po]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
211
- [💄18-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby1_8
212
- [👽18-pc]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls?q=is%3Apr+is%3Aclosed
213
- [👽18-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby1_8
214
- [⛳️18-g]: https://rubygems.org/gems/rubocop-ruby1_8
215
- [⛳️18-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
216
368
  [⛳️19-vi]: http://img.shields.io/gem/v/rubocop-ruby1_9.svg
217
369
  [🖇️19-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_9.svg
218
370
  [🏘️19-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_9.svg
@@ -220,6 +372,8 @@ that matches your Ruby floor.
220
372
  [🚎19-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/current.yml/badge.svg
221
373
  [🖐19-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml
222
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
223
377
  [📗19-io]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues
224
378
  [📗19-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_9
225
379
  [🚀19-ic]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues?q=is%3Aissue+is%3Aclosed
@@ -237,6 +391,8 @@ that matches your Ruby floor.
237
391
  [🚎20-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
238
392
  [🖐20-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
239
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
240
396
  [📗20-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
241
397
  [📗20-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
242
398
  [🚀20-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
@@ -254,6 +410,8 @@ that matches your Ruby floor.
254
410
  [🚎21-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/current.yml/badge.svg
255
411
  [🖐21-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml
256
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
257
415
  [📗21-io]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues
258
416
  [📗21-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_1
259
417
  [🚀21-ic]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues?q=is%3Aissue+is%3Aclosed
@@ -271,6 +429,8 @@ that matches your Ruby floor.
271
429
  [🚎22-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
272
430
  [🖐22-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
273
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
274
434
  [📗22-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
275
435
  [📗22-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
276
436
  [🚀22-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
@@ -288,6 +448,8 @@ that matches your Ruby floor.
288
448
  [🚎23-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/current.yml/badge.svg
289
449
  [🖐23-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml
290
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
291
453
  [📗23-io]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues
292
454
  [📗23-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_3
293
455
  [🚀23-ic]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues?q=is%3Aissue+is%3Aclosed
@@ -305,6 +467,8 @@ that matches your Ruby floor.
305
467
  [🚎24-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/current.yml/badge.svg
306
468
  [🖐24-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml
307
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
308
472
  [📗24-io]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues
309
473
  [📗24-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_4
310
474
  [🚀24-ic]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues?q=is%3Aissue+is%3Aclosed
@@ -322,6 +486,8 @@ that matches your Ruby floor.
322
486
  [🚎25-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/current.yml/badge.svg
323
487
  [🖐25-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml
324
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
325
491
  [📗25-io]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues
326
492
  [📗25-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_5
327
493
  [🚀25-ic]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues?q=is%3Aissue+is%3Aclosed
@@ -339,6 +505,8 @@ that matches your Ruby floor.
339
505
  [🚎26-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/current.yml/badge.svg
340
506
  [🖐26-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml
341
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
342
510
  [📗26-io]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues
343
511
  [📗26-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_6
344
512
  [🚀26-ic]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues?q=is%3Aissue+is%3Aclosed
@@ -356,6 +524,8 @@ that matches your Ruby floor.
356
524
  [🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
357
525
  [🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
358
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
359
529
  [📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
360
530
  [📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
361
531
  [🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
@@ -373,6 +543,8 @@ that matches your Ruby floor.
373
543
  [🚎30-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/current.yml/badge.svg
374
544
  [🖐30-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml
375
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
376
548
  [📗30-io]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues
377
549
  [📗30-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_0
378
550
  [🚀30-ic]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues?q=is%3Aissue+is%3Aclosed
@@ -390,6 +562,8 @@ that matches your Ruby floor.
390
562
  [🚎31-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/current.yml/badge.svg
391
563
  [🖐31-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml
392
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
393
567
  [📗31-io]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues
394
568
  [📗31-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_1
395
569
  [🚀31-ic]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues?q=is%3Aissue+is%3Aclosed
@@ -407,6 +581,8 @@ that matches your Ruby floor.
407
581
  [🚎32-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/current.yml/badge.svg
408
582
  [🖐32-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml
409
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
410
586
  [📗32-io]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues
411
587
  [📗32-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_2
412
588
  [🚀32-ic]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues?q=is%3Aissue+is%3Aclosed
@@ -417,523 +593,61 @@ that matches your Ruby floor.
417
593
  [👽32-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby3_2
418
594
  [⛳️32-g]: https://rubygems.org/gems/rubocop-ruby3_2
419
595
  [⛳️32-gh]: https://github.com/rubocop-lts/rubocop-ruby3_2
420
- [⛳️stdrlts-vi]: http://img.shields.io/gem/v/standard-rubocop-lts.svg
421
- [🖇️stdrlts-dti]: https://img.shields.io/gem/dt/standard-rubocop-lts.svg
422
- [🏘️stdrlts-rti]: https://img.shields.io/gem/rt/standard-rubocop-lts.svg
423
- [🚎stdrlts-cwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/current.yml
424
- [🚎stdrlts-cwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/current.yml/badge.svg
425
- [🖐stdrlts-hwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/heads.yml
426
- [🖐stdrlts-hwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/heads.yml/badge.svg
427
- [🧮stdrlts-lwf]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/legacy.yml
428
- [🧮stdrlts-lwfi]: https://github.com/rubocop-lts/standard-rubocop-lts/actions/workflows/legacy.yml/badge.svg
429
- [📗stdrlts-io]: https://github.com/rubocop-lts/standard-rubocop-lts/issues
430
- [📗stdrlts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/standard-rubocop-lts
431
- [🚀stdrlts-ic]: https://github.com/rubocop-lts/standard-rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
432
- [🚀stdrlts-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/standard-rubocop-lts
433
- [💄stdrlts-po]: https://github.com/rubocop-lts/standard-rubocop-lts/pulls
434
- [💄stdrlts-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/standard-rubocop-lts
435
- [👽stdrlts-pc]: https://github.com/rubocop-lts/standard-rubocop-lts/pulls?q=is%3Apr+is%3Aclosed
436
- [👽stdrlts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/standard-rubocop-lts
437
- [⛳️stdrlts-g]: https://rubygems.org/gems/standard-rubocop-lts
438
- [⛳️stdrlts-gh]: https://github.com/rubocop-lts/standard-rubocop-lts
439
596
 
440
- [aboutme]: https://about.me/peter.boling
441
- [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
442
- [angelme]: https://angel.co/peter-boling
443
- [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
444
- [codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-lts
445
- [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
446
- [chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
447
- [climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/test_coverage
448
- [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
449
597
  [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
450
- [conduct]: https://gitlab.com/rubocop-lts/rubocop-lts/-/blob/main/CODE_OF_CONDUCT.md
451
- [devto]: https://dev.to/galtzo
452
- [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
453
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
454
- [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
455
- [gh_sponsors]: https://github.com/sponsors/pboling
456
- [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
457
- [liberapay_donate]: https://liberapay.com/pboling/donate
458
- [license-ref]: https://opensource.org/licenses/MIT
459
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
460
- [peterboling]: http://www.peterboling.com
461
- [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
462
- [railsbling]: http://www.railsbling.com
463
- [rubygems]: https://rubygems.org/gems/rubocop-lts
464
- [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
465
- [semver]: http://semver.org/
466
- [source]: https://github.com/rubocop-lts/rubocop-lts/
467
- [tweetme]: http://twitter.com/galtzo
468
-
469
- ## 💡 Info you can shake a stick at
470
-
471
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
472
- |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
473
- | 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]|
474
- | 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]|
475
- | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
476
- | 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]|
477
- | 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] |
478
- | 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] |
479
- | 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] |
480
- | 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] |
481
- | 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] |
482
- | 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] |
483
- | `...` 💖 | [![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] |
484
-
485
- ### Compatibility
486
-
487
- Compatible with MRI Ruby 3.2+, JRuby, and TruffleRuby.
488
- CI workflows and Appraisals are generated for MRI Ruby 3.2+.
489
- This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
490
- may be higher than the gem's runtime compatibility floor when legacy Rubies are
491
- not practical for the current toolchain.
492
-
493
- <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>
494
-
495
- The _amazing_ test matrix is powered by the kettle-dev stack.
496
-
497
- <details markdown="1">
498
- <summary>How kettle-dev manages complexity in tests</summary>
499
-
500
- | Gem | Source | Role | Total downloads |
501
- |-----|--------|------|---------------------|
502
- | [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) |
503
- | [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) |
504
- | [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) |
505
- | [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) |
506
- | [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) |
507
- | [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) |
508
- | [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) |
509
-
510
- </details>
511
-
512
- ### Federated DVCS
513
-
514
- <details markdown="1">
515
- <summary>Find this repo on federated forges (Coming soon!)</summary>
516
-
517
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
518
- |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
519
- | 🧪 [rubocop-lts/rubocop-lts on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
520
- | 🧊 [rubocop-lts/rubocop-lts on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
521
- | 🐙 [rubocop-lts/rubocop-lts on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
522
-
523
- </details>
524
-
525
- ### Enterprise Support
526
-
527
- [![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)
528
598
 
529
- Available as part of the Tidelift Subscription.
530
-
531
- <details markdown="1">
532
- <summary>Need enterprise-level guarantees?</summary>
533
-
534
- 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.
535
-
536
- [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
537
-
538
- - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
539
- - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
540
- - 💡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
541
-
542
- Alternatively:
543
-
544
- - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
545
- - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
546
- - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
547
- - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
548
-
549
- </details>
550
-
551
- ## ✨ Installation
552
-
553
- Install the gem and add to the application's Gemfile by executing:
554
-
555
- ```console
556
- bundle add rubocop-lts
557
- ```
558
-
559
- If bundler is not being used to manage dependencies, install the gem by executing:
560
-
561
- ```console
562
- gem install rubocop-lts
563
- ```
564
-
565
- ## ⚙️ Configuration
566
-
567
- Please see the primary configuration and usage documentation.
568
-
569
- * 🔧 Primary [Configuration and Usage Documentation][Usage].
570
-
571
- ## 🔧 Basic Usage
572
-
573
- Please see the primary configuration and usage documentation.
574
-
575
- * 🔧 Primary [Configuration and Usage Documentation][Usage].
576
-
577
- ## 🦷 FLOSS Funding
578
-
579
- While rubocop-lts tools are free software and will always be, the project would benefit immensely from some funding.
580
- Raising a monthly budget of... "dollars" would make the project more sustainable.
581
-
582
- We welcome both individual and corporate sponsors! We also offer a
583
- wide array of funding channels to account for your preferences.
584
- Currently, [Open Collective][🖇osc] is our preferred funding platform.
585
-
586
- **If you're working in a company that's making significant use of rubocop-lts tools we'd
587
- appreciate it if you suggest to your company to become a rubocop-lts sponsor.**
588
-
589
- You can support the development of rubocop-lts tools via
590
- [GitHub Sponsors][🖇sponsor],
591
- [Liberapay][⛳liberapay],
592
- [PayPal][🖇paypal],
593
- [Open Collective][🖇osc]
594
- and [Tidelift][🏙️entsup-tidelift].
595
-
596
- | 📍 NOTE |
597
- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
598
- | 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. |
599
-
600
- ### Open Collective for Individuals
601
-
602
- Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/rubocop-lts#backer)]
603
-
604
- NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
605
-
606
- <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
607
- No backers yet. Be the first!
608
- <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
609
-
610
- ### Open Collective for Organizations
611
-
612
- 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)]
613
-
614
- NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
615
-
616
- <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
617
- No sponsors yet. Be the first!
618
- <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
619
-
620
- [kettle-readme-backers]: https://github.com/rubocop-lts/rubocop-lts/blob/main/bin/kettle-readme-backers
621
-
622
- ### Another way to support open-source
623
-
624
- 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).
625
-
626
- 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`.
627
-
628
- 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.
629
-
630
- **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
631
-
632
- [![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]
633
-
634
- ## 🔐 Security
635
-
636
- See [SECURITY.md][🔐security].
637
-
638
- ## 🤝 Contributing
639
-
640
- If you need some ideas of where to help, you could work on adding more code coverage,
641
- check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
642
-
643
- We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
644
-
645
- See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
646
-
647
- ### 🚀 Release Instructions
648
-
649
- See [CONTRIBUTING.md][🤝contributing].
650
-
651
- ### Code Coverage
652
-
653
- <details markdown="1">
654
- <summary>Coverage service badges</summary>
655
-
656
- [![Coverage Graph][🏀codecov-g]][🏀codecov]
599
+ [gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
657
600
 
658
- [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
601
+ [conduct]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md
659
602
 
660
- [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
603
+ [contributing]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CONTRIBUTING.md
661
604
 
662
- </details>
605
+ [security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
663
606
 
664
- ### 🪇 Code of Conduct
607
+ [license]: https://github.com/rubocop-lts/rubocop-lts/blob/main/LICENSE.txt
665
608
 
666
- Everyone interacting with this project's codebases, issue trackers,
667
- chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
609
+ [license-ref]: https://opensource.org/licenses/MIT
668
610
 
669
- ## 🌈 Contributors
611
+ [semver]: http://semver.org/
670
612
 
671
- [![Contributors][🖐contributors-img]][🖐contributors]
613
+ [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
672
614
 
673
- Made with [contributors-img][🖐contrib-rocks].
615
+ [railsbling]: http://www.railsbling.com
674
616
 
675
- Also see GitLab Contributors: [https://gitlab.com/rubocop-lts/rubocop-lts/-/graphs/main][🚎contributors-gl]
617
+ [peterboling]: http://www.peterboling.com
676
618
 
677
- ## 📌 Versioning
619
+ [aboutme]: https://about.me/peter.boling
678
620
 
679
- This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
680
- For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
621
+ [angelme]: https://angel.co/peter-boling
681
622
 
682
- For example:
623
+ [coderme]:http://coderwall.com/pboling
683
624
 
684
- ```ruby
685
- spec.add_dependency("rubocop-lts", "~> 4.0")
686
- ```
625
+ [followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
687
626
 
688
- <details markdown="1">
689
- <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
627
+ [tweetme]: http://twitter.com/galtzo
690
628
 
691
- Dropping support for a platform can be a breaking change for affected users.
692
- 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
693
630
 
694
- To get a better understanding of how SemVer is intended to work over a project's lifetime,
695
- read this article from the creator of SemVer:
631
+ [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
696
632
 
697
- - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
633
+ [source]: https://github.com/rubocop-lts/rubocop-lts/
698
634
 
699
- </details>
635
+ [actions]: https://github.com/rubocop-lts/rubocop-lts/actions
700
636
 
701
- See [CHANGELOG.md][📌changelog] for a list of releases.
637
+ [issues]: https://github.com/rubocop-lts/rubocop-lts/issues
702
638
 
703
- ## 📄 License
639
+ [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
704
640
 
705
- The gem is available as open source under the terms of
706
- 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
707
642
 
708
- ### © Copyright
643
+ [blogpage]: http://www.railsbling.com/tags/rubocop-lts/
709
644
 
710
- See [LICENSE.md][📄license] for the official copyright notice.
645
+ [rubygems]: https://rubygems.org/gems/rubocop-lts
711
646
 
712
- <details markdown="1">
713
- <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
714
648
 
715
- - Copyright (c) 2022-2023, 2026 Peter H. Boling
649
+ [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
716
650
 
717
- </details>
651
+ [liberapay_donate]: https://liberapay.com/pboling/donate
718
652
 
719
- ## 🤑 A request for help
720
-
721
- Maintainers have teeth and need to pay their dentists.
722
- After getting laid off in an RIF in March, and encountering difficulty finding a new one,
723
- I began spending most of my time building open source tools.
724
- I'm hoping to be able to pay for my kids' health insurance this month,
725
- so if you value the work I am doing, I need your support.
726
- Please consider sponsoring me or the project.
727
-
728
- To join the community or get help, use the RubyForum or Discord.
729
-
730
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
731
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
732
-
733
- To say "thanks!" ☝️ Join the community or 👇️ send money.
734
-
735
- [![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]
736
-
737
- ### Please give the project a star ⭐ ♥.
738
-
739
- 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.
740
-
741
- Thanks for RTFM. ☺️
742
-
743
- [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
744
- [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
745
- [⛳liberapay]: https://liberapay.com/pboling/donate
746
- [🖇osc-all-img]: https://img.shields.io/opencollective/all/rubocop-lts
747
- [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts
748
- [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/rubocop-lts
749
- [🖇osc-backers]: https://opencollective.com/rubocop-lts#backer
750
- [🖇osc-backers-i]: https://opencollective.com/rubocop-lts/backers/badge.svg?style=flat
751
- [🖇osc-sponsors]: https://opencollective.com/rubocop-lts#sponsor
752
- [🖇osc-sponsors-i]: https://opencollective.com/rubocop-lts/sponsors/badge.svg?style=flat
753
- [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/rubocop-lts?style=for-the-badge
754
- [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts?style=for-the-badge
755
- [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/rubocop-lts?style=for-the-badge
756
- [🖇osc]: https://opencollective.com/rubocop-lts
757
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
758
- [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
759
- [🖇sponsor]: https://github.com/sponsors/pboling
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