rubocop-lts 2.3.2 → 3.0.0

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