rubocop-ruby1_8 2.0.2 → 2.0.4

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,255 +1,124 @@
1
- <a href="https://rubocop-lts.gitlab.io/"><img alt="rubocop-lts Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/rubocop-lts/avatar-192px.svg" width="20%" align="right"/></a>
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>
2
2
 
3
3
  # 🦾 Rubocop::Ruby18
4
4
 
5
- 💡 See the intro [blog post](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj)!
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]
6
+
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
6
8
 
7
9
  ---
8
10
 
9
- The RuboCop LTS family of gems is the distillation of more than 20 years
10
- of my own Ruby expertise and source code diving,
11
- built on the shoulders of the expertise of many others — `rubocop`, `standard`,
12
- `rubocop-gradual` and others are runtime dependencies — not reinventing any wheels here);
13
- organizing that expertise into per-Ruby-version sets of configurations.
14
- Yes, I typed those emdashes, and wrote this entire README myself without AI —
15
- `ctrl`-`shift`-`u`-`2014`.
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.
16
12
 
17
- Although the situation has improved somewhat,
18
- it remains [_unsafe_ to upgrade RuboCop, or Standard][Why-Build-This],
19
- in a project that supports EOL Rubies.
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]
20
14
 
21
- I hope it helps others avoid some of the challenges I've had with library maintenance,
22
- and supporting decade-old mission-critical applications.
15
+ <details markdown="1">
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
23
17
 
24
- Avoid bike-shedding, use `rubocop-lts` in every project, and
25
- let it manage your linting complexity!
18
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
26
19
 
27
- If the `rubocop-lts` stack of libraries has helped you, or your organization,
28
- please support my efforts by making a donation, or becoming a sponsor.
20
+ </details>
29
21
 
30
- [Why-Build-This]: https://rubocop-lts.gitlab.io/about/#why-build-this-
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>
23
+
24
+ ## 💡 Info you can shake a stick at
25
+
26
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
27
+ |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
28
+ | 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]|
29
+ | 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]|
30
+ | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
31
+ | 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]|
32
+ | 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] |
33
+ | 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] |
34
+ | 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] |
35
+ | 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] |
36
+ | 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] |
37
+ | 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] |
38
+ | `...` 💖 | [![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] |
39
+
40
+ ### Compatibility
41
+
42
+ Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRuby.
43
+ CI workflows and Appraisals are generated for MRI Ruby 3.2.0+.
44
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
45
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
46
+ not practical for the current toolchain.
47
+
48
+ <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>
49
+
50
+ The _amazing_ test matrix is powered by the kettle-dev stack.
51
+
52
+ <details markdown="1">
53
+ <summary>How kettle-dev manages complexity in tests</summary>
54
+
55
+ | Gem | Source | Role | Daily download rank |
56
+ |-----|--------|------|---------------------|
57
+ | [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) |
58
+ | [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) |
59
+ | [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) |
60
+ | [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) |
61
+ | [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) |
62
+ | [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) |
63
+ | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
64
+ | [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) |
31
65
 
32
- <div id="badges">
66
+ </details>
33
67
 
34
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
35
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
68
+ ### Federated DVCS
36
69
 
37
- <span class="badge-buymeacoffee">
38
- <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>
39
- </span>
40
- <span class="badge-patreon">
41
- <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>
42
- </span>
70
+ <details markdown="1">
71
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
43
72
 
44
- </div>
73
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
74
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
75
+ | 🧪 [rubocop-lts/rubocop-ruby1_8 on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
76
+ | 🧊 [rubocop-lts/rubocop-ruby1_8 on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
77
+ | 🐙 [rubocop-lts/rubocop-ruby1_8 on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
78
+ | 🎮️ [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] |
45
79
 
46
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
47
- [⛳liberapay]: https://liberapay.com/pboling/donate
48
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
49
- [🖇sponsor]: https://github.com/sponsors/pboling
80
+ </details>
50
81
 
51
- ---
82
+ [gh-discussions]: https://github.com/rubocop-lts/rubocop-ruby1_8/discussions
83
+
84
+ ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/rubocop-ruby1_8)](https://tidelift.com/subscription/pkg/rubygems-rubocop-ruby1_8?utm_source=rubygems-rubocop-ruby1_8&utm_medium=referral&utm_campaign=readme)
85
+
86
+ Available as part of the Tidelift Subscription.
87
+
88
+ <details markdown="1">
89
+ <summary>Need enterprise-level guarantees?</summary>
52
90
 
53
- NOTE: You might be interested in [`rubocop-lts`][rlts] which sits as a higher level than this gem, and can keep pace with whatever version of Ruby you happen to be on.
54
-
55
- | Gem Name | Version | Downloads | CI | Activity |
56
- |-------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
57
- | [`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] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
58
- | [`rubocop-ruby1_8`][⛳️ini-gh] | [![Gem Version][⛳️ini-vi]][⛳️ini-g] | [![Total DL][🖇️ini-dti]][⛳️ini-g] [![DL Rank][🏘️ini-rti]][⛳️ini-g] | [![Current][🚎ini-cwfi]][🚎ini-cwf] [![Heads][🖐ini-hwfi]][🖐ini-hwf] | [![Open Issues][📗ini-ioi]][📗ini-io] [![Closed Issues][🚀ini-ici]][🚀ini-ic] [![Open PRs][💄ini-poi]][💄ini-po] [![Closed PRs][👽ini-pci]][👽ini-pc] |
59
-
60
- <!-- columnar badge #s for Project Health table:
61
- ⛳️
62
- 🖇
63
- 🏘
64
- 🚎
65
- 🖐
66
- 🧮
67
- 📗
68
- 🚀
69
- 💄
70
- 👽
71
- -->
72
-
73
- [⛳️lts-vi]: http://img.shields.io/gem/v/rubocop-lts.svg
74
- [🖇️lts-dti]: https://img.shields.io/gem/dt/rubocop-lts.svg
75
- [🏘️lts-rti]: https://img.shields.io/gem/rt/rubocop-lts.svg
76
- [🚎lts-cwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml
77
- [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
78
- [🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
79
- [🖐lts-hwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml/badge.svg
80
- [🧮lts-lwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml
81
- [🧮lts-lwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml/badge.svg
82
- [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
83
- [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
84
- [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
85
- [🚀lts-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-lts
86
- [💄lts-po]: https://github.com/rubocop-lts/rubocop-lts/pulls
87
- [💄lts-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-lts
88
- [👽lts-pc]: https://github.com/rubocop-lts/rubocop-lts/pulls?q=is%3Apr+is%3Aclosed
89
- [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
90
- [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
91
- [⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
92
-
93
- [⛳️ini-vi]: http://img.shields.io/gem/v/rubocop-ruby1_8.svg
94
- [🖇️ini-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_8.svg
95
- [🏘️ini-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_8.svg
96
- [🚎ini-cwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
97
- [🚎ini-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
98
- [🖐ini-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
99
- [🖐ini-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
100
- [🧮ini-lwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/legacy.yml
101
- [🧮ini-lwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/legacy.yml/badge.svg
102
- [📗ini-io]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
103
- [📗ini-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_8
104
- [🚀ini-ic]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues?q=is%3Aissue+is%3Aclosed
105
- [🚀ini-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby1_8
106
- [💄ini-po]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
107
- [💄ini-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby1_8
108
- [👽ini-pc]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls?q=is%3Apr+is%3Aclosed
109
- [👽ini-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby1_8
110
- [⛳️ini-g]: https://rubygems.org/gems/rubocop-ruby1_8
111
- [⛳️ini-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
112
-
113
- This gem configures many gems for you,
114
- and configures all of them for a specific version of Ruby:
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
- Awareness of `rubocop`'s lack of [SemVer][semver] adherence isn't evenly dispersed in the Ruby community.
140
-
141
- The RuboCop team [has reasons](https://github.com/semver/semver/issues/317)
142
- for [not following SemVer](https://github.com/rubocop/rubocop/issues/4243).
143
-
144
- NOTE: They think they are following SemVer,
145
- but their interpretation differs from mine, and seems to differ from the
146
- [intent of SemVer's creator][major-versions-not-sacred].
147
-
148
- <p align="left">
149
- <a href="https://metaredux.com/posts/2022/04/21/rubocop-turns-10.html" target="_blank" rel="noopener">
150
- <img width="360px" src="https://github.com/rubocop-lts/rubocop-ruby1_8/raw/main/docs/images/rubocop-not-semver.png?raw=true" alt="Explanation of non-SemVer compliance, @bbatsov">
151
- </a>
152
- </p>
153
-
154
- The purpose of this gem is to constrain the `rubocop` dependency of a project in
155
- a [SemVer compliant][semver]
156
- (Semantic Versioning, [Major Versions are Not Sacred][major-versions-not-sacred])
157
- way that aligns with its desired minimum compatible/supported Ruby version.
158
- Secondary purpose is to provide default configurations for a bevy of RuboCop-related plugins.
159
-
160
- ## 💎 Ruby Version Support
161
-
162
- This gem facilitates equivalent of adding a `~> ` version constrained `rubocop`(-ish +more) dependency,
163
- thus minimizing the risk of a rubocop minor / patch upgrade breaking the build.
164
-
165
- ### What's that you say?
166
-
167
- This gem will install a suite of tools that will **analyze & lint code** intended to support any version of Ruby >= 1.8.
168
-
169
- This gem helps insulate projects from RuboCop churn by enshrining many conventions
170
- that have been shown over years to reduce problems.
171
-
172
- #### Background
173
-
174
- Each [spring `rubocop` drops][rubocop-support-matrix] the ability to **install** and **run** `rubocop` on an EOL'd Ruby.
175
- Eventually `rubocop` will drop the ability to **analyze code** intended to support an EOL'd Ruby,
176
- as they already have for Ruby 1.9. RuboCop has never run properly on Ruby 1.8.
177
- This gem, via [standard (Standard Ruby)][standardrb], allows RuboCop to analyze Ruby 1.8 code,
178
- by turning off certain rules that only apply to later Rubies.
179
-
180
- When the `rubocop` team makes _any_ of these changes they
181
- [only bump the minor version][rubocop-versioning] of RuboCop,
182
- in violation of SemVer ([they disagree][rubocop-release-policy]).
183
-
184
- In other words, RuboCop intentionally does not bump the major version when they drop
185
- _analysis_, _runtime_, or _installation_ support for a given version of Ruby.
186
-
187
- This is a primary _raison d’être_ for this project.
188
- To get a better understanding of how SemVer is intended to work read this article from the creator of SemVer:
189
-
190
- - ["Major Version Numbers are Not Sacred"][major-versions-not-sacred]!
191
-
192
- [rubocop-support-matrix]: https://docs.rubocop.org/rubocop/compatibility.html#support-matrix
193
- [rubocop-versioning]: https://docs.rubocop.org/rubocop/versioning.html
194
- [rubocop-release-policy]: https://docs.rubocop.org/rubocop/versioning.html#release-policy
195
- [major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
196
- [standardrb]: https://github.com/standardrb/standard
197
-
198
- ### 👪 A Gem Family
199
-
200
- The `rubocop-lts` family of gems has a version supporting any version of Ruby you need.
201
- They can be used as development dependencies for libraries or applications.
202
-
203
- - [`rubocop-lts`][rlts]
204
- - [`standard-rubocop-lts`][stdrlts]
205
- - [`rubocop-ruby1_8`][rr18]
206
- - [`rubocop-ruby1_9`][rr19]
207
- - [`rubocop-ruby2_0`][rr20]
208
- - [`rubocop-ruby2_1`][rr21]
209
- - [`rubocop-ruby2_2`][rr22]
210
- - [`rubocop-ruby2_3`][rr23]
211
- - [`rubocop-ruby2_4`][rr24]
212
- - [`rubocop-ruby2_5`][rr25]
213
- - [`rubocop-ruby2_6`][rr26]
214
- - [`rubocop-ruby2_7`][rr27]
215
- - [`rubocop-ruby3_0`][rr30]
216
- - [`rubocop-ruby3_1`][rr31]
217
- - [`rubocop-ruby3_2`][rr32]
218
-
219
- [rlts]: https://github.com/rubocop-lts/rubocop-lts#-how-to-untie-gorgons-knot
220
- [stdrlts]: https://github.com/rubocop-lts/standard-rubocop-lts
221
- [rr18]: https://gitlab.com/rubocop-lts/standard-rubocop-lts
222
- [rr19]: https://gitlab.com/rubocop-lts/rubocop-ruby1_9
223
- [rr20]: https://gitlab.com/rubocop-lts/rubocop-ruby2_0
224
- [rr21]: https://gitlab.com/rubocop-lts/rubocop-ruby2_1
225
- [rr22]: https://gitlab.com/rubocop-lts/rubocop-ruby2_2
226
- [rr23]: https://gitlab.com/rubocop-lts/rubocop-ruby2_3
227
- [rr24]: https://gitlab.com/rubocop-lts/rubocop-ruby2_4
228
- [rr25]: https://gitlab.com/rubocop-lts/rubocop-ruby2_5
229
- [rr26]: https://gitlab.com/rubocop-lts/rubocop-ruby2_6
230
- [rr27]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7
231
- [rr30]: https://gitlab.com/rubocop-lts/rubocop-ruby3_0
232
- [rr31]: https://gitlab.com/rubocop-lts/rubocop-ruby3_1
233
- [rr32]: https://gitlab.com/rubocop-lts/rubocop-ruby3_2
234
-
235
- ## 🗿 Stable
236
-
237
- All releases of this gem are stable releases.
238
- We do not release new versions for every release of `rubocop`,
239
- as this gem is tied to [standard (Standard Ruby)][standardrb].
240
- A typical release cycle for a gem in the `rubocop-lts` family is roughly every six months,
241
- though eventually analysis support for an old version of Ruby will be dropped.
242
- When that happens releases of the `rubocop-lts` gem for that version of Ruby will (mostly) cease.
91
+ 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.
92
+
93
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
94
+
95
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
96
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
97
+ - 💡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
98
+
99
+ Alternatively:
100
+
101
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
102
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
103
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
104
+
105
+ </details>
243
106
 
244
107
  ## ✨ Installation
245
108
 
246
109
  Install the gem and add to the application's Gemfile by executing:
247
110
 
248
- $ bundle add rubocop-ruby1_8 -r false
111
+ ```console
112
+ bundle add rubocop-ruby1_8
113
+ ```
249
114
 
250
115
  If bundler is not being used to manage dependencies, install the gem by executing:
251
116
 
252
- $ gem install rubocop-ruby1_8
117
+ ```console
118
+ gem install rubocop-ruby1_8
119
+ ```
120
+
121
+ ## ⚙️ Configuration
253
122
 
254
123
  ## 🔧 Basic Usage
255
124
 
@@ -278,153 +147,376 @@ Upgrades to the latest RuboCop can include all kinds of changes, including remov
278
147
 
279
148
  But this gem shoehorns RuboCop into SemVer, under the watchful eye of [standard (Standard Ruby)][standardrb]... so `NewCops` is now safe(r)! If you use a dependency greening tool like GitHub's `dependabot`, or the excellent alternatives [depfu](https://depfu.com/), and [`renovate`](https://www.whitesourcesoftware.com/free-developer-tools/renovate/), then you can see the effect of a minor / major version bump in your CI Build!
280
149
 
281
- ## Advanced Usage
150
+ ## 🦷 FLOSS Funding
282
151
 
283
- ### Linting Ruby + RSpec
152
+ While rubocop-lts tools are free software and will always be, the project would benefit immensely from some funding.
153
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
284
154
 
285
- ```yaml
286
- inherit_gem:
287
- rubocop-ruby1_8: rubocop-lts/ruby_rspec.yml
288
- # Note: technically the above is the same as the "Basic Usage" below, so if specificity is not your jam:
289
- # rubocop-ruby1_8: rubocop.yml
290
- ```
155
+ We welcome both individual and corporate sponsors! We also offer a
156
+ wide array of funding channels to account for your preferences.
157
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
291
158
 
292
- ### Linting Ruby w/o RSpec
159
+ **If you're working in a company that's making significant use of rubocop-lts tools we'd
160
+ appreciate it if you suggest to your company to become a rubocop-lts sponsor.**
293
161
 
294
- ```yaml
295
- inherit_gem:
296
- rubocop-ruby1_8: rubocop-lts/ruby.yml
297
- ```
162
+ You can support the development of rubocop-lts tools via
163
+ [GitHub Sponsors][🖇sponsor],
164
+ [Liberapay][⛳liberapay],
165
+ [PayPal][🖇paypal],
166
+ [Open Collective][🖇osc]
167
+ and [Tidelift][🏙️entsup-tidelift].
298
168
 
299
- ### Linting Rails + RSpec
169
+ | 📍 NOTE |
170
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
171
+ | 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. |
300
172
 
301
- ```yaml
302
- inherit_gem:
303
- rubocop-ruby1_8: rubocop-lts/rails_rspec.yml
304
- ```
173
+ ### Open Collective for Individuals
305
174
 
306
- #### Linting Rails w/o RSpec
175
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/rubocop-lts#backer)]
307
176
 
308
- ```yaml
309
- inherit_gem:
310
- rubocop-ruby1_8: rubocop-lts/rails.yml
311
- ```
177
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
312
178
 
313
- #### Linting a RubyGem + RSpec
179
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
180
+ No backers yet. Be the first!
181
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
314
182
 
315
- ```yaml
316
- inherit_gem:
317
- rubocop-ruby1_8: rubocop-lts/rubygem_rspec.yml
318
- ```
183
+ ### Open Collective for Organizations
319
184
 
320
- #### Linting a RubyGem w/o RSpec
185
+ 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)]
321
186
 
322
- ```yaml
323
- inherit_gem:
324
- rubocop-ruby1_8: rubocop-lts/rubygem.yml
325
- ```
187
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
188
+
189
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
190
+ No sponsors yet. Be the first!
191
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
192
+
193
+ [kettle-readme-backers]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/bin/kettle-readme-backers
194
+
195
+ ### Another way to support open-source
196
+
197
+ 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).
198
+
199
+ 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`.
326
200
 
327
- ## 💻 Development
201
+ 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.
328
202
 
329
- After checking out the repo, run `bin/setup` to install dependencies.
330
- Then, run `rake spec` to run the tests w/ coverage,
331
- or `bin/rake` to run tests w/ coverage, and linting.
332
- You can also run `bin/console` for an interactive prompt that will allow you to experiment.
203
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
333
204
 
334
- To install this gem onto your local machine, run `bundle exec rake install`.
205
+ [![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]
206
+
207
+ ## 🔐 Security
208
+
209
+ See [SECURITY.md][🔐security].
210
+
211
+ ## 🤝 Contributing
212
+
213
+ If you need some ideas of where to help, you could work on adding more code coverage,
214
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
215
+ or use the gem and think about how it could be better.
216
+
217
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
218
+
219
+ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
335
220
 
336
221
  ### 🚀 Release Instructions
337
222
 
338
- See [CONTRIBUTING.md][contributing].
223
+ See [CONTRIBUTING.md][🤝contributing].
339
224
 
340
- ## ⚡️ Contributing
225
+ ### Code Coverage
341
226
 
342
- See [CONTRIBUTING.md][contributing]
227
+ <details markdown="1">
228
+ <summary>Coverage service badges</summary>
229
+
230
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
231
+
232
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
233
+
234
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
235
+
236
+ </details>
237
+
238
+ ### 🪇 Code of Conduct
239
+
240
+ Everyone interacting with this project's codebases, issue trackers,
241
+ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
343
242
 
344
243
  ## 🌈 Contributors
345
244
 
346
- [![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-ruby1_8)]("https://github.com/rubocop-lts/rubocop-ruby1_8/graphs/contributors")
245
+ [![Contributors][🖐contributors-img]][🖐contributors]
347
246
 
348
- Made with [contributors-img](https://contrib.rocks).
247
+ Made with [contributors-img][🖐contrib-rocks].
349
248
 
350
- ## 📄 License
249
+ Also see GitLab Contributors: [https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/graphs/main][🚎contributors-gl]
351
250
 
352
- The gem is available as open source under the terms of
353
- the [MIT License][license] [![License: MIT][license-img]][license-ref].
354
- See [LICENSE.txt][license] for the official [Copyright Notice][copyright-notice-explainer].
251
+ <details markdown="1">
252
+ <summary>⭐️ Star History</summary>
355
253
 
356
- <details>
357
- <summary>Project Logos (rubocop-ruby1_8)</summary>
254
+ <a href="https://star-history.com/rubocop-lts/rubocop-ruby1_8&Date">
255
+ <picture>
256
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-ruby1_8&type=Date&theme=dark" />
257
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-ruby1_8&type=Date" />
258
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-ruby1_8&type=Date" />
259
+ </picture>
260
+ </a>
358
261
 
359
- See [docs/images/logo/README.txt][project-logos]
360
262
  </details>
361
263
 
362
- <details>
363
- <summary>Organization Logo (rubocop-lts)</summary>
264
+ ## 📌 Versioning
265
+
266
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
267
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
268
+
269
+ For example:
270
+
271
+ ```ruby
272
+ spec.add_dependency("rubocop-ruby1_8", "~> 2.0")
273
+ ```
274
+
275
+ <details markdown="1">
276
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
277
+
278
+ Dropping support for a platform can be a breaking change for affected users.
279
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
280
+
281
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
282
+ read this article from the creator of SemVer:
283
+
284
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
364
285
 
365
- Author: [Yusuf Evli][org-logo-author]
366
- Source: [Unsplash][org-logo-source]
367
- License: [Unsplash License][org-logo-license]
368
286
  </details>
369
287
 
370
- [project-logos]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/docs/images/logo/README.txt
371
- [org-logo-author]: https://unsplash.com/@yusufevli
372
- [org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
373
- [org-logo-license]: https://unsplash.com/license
288
+ See [CHANGELOG.md][📌changelog] for a list of releases.
289
+
290
+ ## 📄 License
291
+
292
+ The gem is available as open source under the terms of
293
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
374
294
 
375
295
  ### © Copyright
376
296
 
377
- * Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
297
+ See [LICENSE.md][📄license] for the official copyright notice.
378
298
 
379
- ## 🤝 Code of Conduct
299
+ <details markdown="1">
300
+ <summary>Copyright holders</summary>
380
301
 
381
- Everyone interacting in this project's codebases, issue trackers, [chat rooms][🏘chat] and mailing lists is expected to follow the [code of conduct][🤝conduct].
302
+ - Copyright (c) 2023, 2025-2026 Peter H. Boling
382
303
 
383
- [🤝conduct]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/blob/main/CODE_OF_CONDUCT.md
304
+ </details>
384
305
 
385
- ## 📌 Versioning
306
+ ## 🤑 A request for help
386
307
 
387
- This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
388
- bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
389
- immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
390
- major versions.
308
+ Maintainers have teeth and need to pay their dentists.
309
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
310
+ I began spending most of my time building open source tools.
311
+ I'm hoping to be able to pay for my kids' health insurance this month,
312
+ so if you value the work I am doing, I need your support.
313
+ Please consider sponsoring me or the project.
391
314
 
392
- As a result of this policy, you can (and should) specify a dependency on this gem using
393
- the [Pessimistic Version Constraint][pvc] with two digits of precision.
315
+ To join the community or get help 👇️ Join the Discord.
394
316
 
395
- For example:
317
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
396
318
 
397
- ```ruby
398
- spec.add_dependency("rubocop-ruby1_8", "~> 1.0")
399
- ```
319
+ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
320
+
321
+ [![Sponsor rubocop-lts/rubocop-ruby1_8 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]
322
+
323
+ ### Please give the project a star ⭐ ♥.
400
324
 
401
- [aboutme]: https://about.me/peter.boling
402
- [actions]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions
403
- [angelme]: https://angel.co/peter-boling
404
- [blogpage]: http://www.railsbling.com/tags/rubocop-ruby1_8/
405
- [codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-ruby1_8
406
- [code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby1_8
407
- [🏘chat]: https://gitter.im/rubocop-lts/community
408
- [climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby1_8/test_coverage
409
- [climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby1_8/maintainability
410
- [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
411
- [conduct]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/CODE_OF_CONDUCT.md
412
- [contributing]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/CONTRIBUTING.md
413
- [devto]: https://dev.to/galtzo
414
- [documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby1_8/main
415
- [followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
416
- [gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby1_8/discussions
417
- [gh_sponsors]: https://github.com/sponsors/pboling
418
- [issues]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
419
- [liberapay_donate]: https://liberapay.com/pboling/donate
420
- [license]: LICENSE.txt
421
- [license-ref]: https://opensource.org/licenses/MIT
422
- [license-img]: https://img.shields.io/badge/License-MIT-green.svg
423
- [peterboling]: http://www.peterboling.com
424
- [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
425
- [railsbling]: http://www.railsbling.com
426
- [rubygems]: https://rubygems.org/gems/rubocop-ruby1_8
427
- [security]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/SECURITY.md
428
- [semver]: http://semver.org/
429
- [source]: https://github.com/rubocop-lts/rubocop-ruby1_8/
430
- [tweetme]: http://twitter.com/galtzo
325
+ 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.
326
+
327
+ Thanks for RTFM. ☺️
328
+
329
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
330
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
331
+ [⛳liberapay]: https://liberapay.com/pboling/donate
332
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/rubocop-lts
333
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts
334
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/rubocop-lts
335
+ [🖇osc-backers]: https://opencollective.com/rubocop-lts#backer
336
+ [🖇osc-backers-i]: https://opencollective.com/rubocop-lts/backers/badge.svg?style=flat
337
+ [🖇osc-sponsors]: https://opencollective.com/rubocop-lts#sponsor
338
+ [🖇osc-sponsors-i]: https://opencollective.com/rubocop-lts/sponsors/badge.svg?style=flat
339
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/rubocop-lts?style=for-the-badge
340
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/rubocop-lts?style=for-the-badge
341
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/rubocop-lts?style=for-the-badge
342
+ [🖇osc]: https://opencollective.com/rubocop-lts
343
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
344
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
345
+ [🖇sponsor]: https://github.com/sponsors/pboling
346
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
347
+ [🖇kofi]: https://ko-fi.com/pboling
348
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
349
+ [🖇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
350
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
351
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
352
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
353
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
354
+ [🖇floss-funding.dev]: https://floss-funding.dev
355
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
356
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
357
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
358
+ [✉️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
359
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
360
+
361
+ [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
362
+ [⛳️gem-namespace]: https://github.com/rubocop-lts/rubocop-ruby1_8
363
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-Rubocop::Ruby18-3C2D2D.svg?style=square&logo=ruby&logoColor=white
364
+ [⛳️gem-name]: https://bestgems.org/gems/rubocop-ruby1_8
365
+ [⛳️name-img]: https://img.shields.io/badge/name-rubocop--ruby1__8-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
366
+ [⛳️tag-img]: https://img.shields.io/github/tag/rubocop-lts/rubocop-ruby1_8.svg
367
+ [⛳️tag]: https://github.com/rubocop-lts/rubocop-ruby1_8/releases
368
+ [🚂maint-blog]: http://www.railsbling.com/tags/rubocop-ruby1_8
369
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
370
+ [🚂maint-contact]: http://www.railsbling.com/contact
371
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
372
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
373
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
374
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
375
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
376
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
377
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
378
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
379
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
380
+ [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
381
+ [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
382
+ [💖🌳linktree]: https://linktr.ee/galtzo
383
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
384
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
385
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
386
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
387
+ [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
388
+ [💖🧊berg]: https://codeberg.org/pboling
389
+ [💖🐙hub]: https://github.org/pboling
390
+ [💖🛖hut]: https://sr.ht/~galtzo/
391
+ [💖🧪lab]: https://gitlab.com/pboling
392
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
393
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
394
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
395
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
396
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-rubocop-ruby1_8?utm_source=rubygems-rubocop-ruby1_8&utm_medium=referral&utm_campaign=readme
397
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
398
+ [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
399
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
400
+ [🚂railsbling]: http://www.railsbling.com
401
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
402
+ [📜src-gl]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8
403
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
404
+ [📜src-cb]: https://codeberg.org/rubocop-lts/rubocop-ruby1_8
405
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
406
+ [📜src-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
407
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
408
+ [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
409
+ [📜gl-wiki]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/wikis/home
410
+ [📜gh-wiki]: https://github.com/rubocop-lts/rubocop-ruby1_8/wiki
411
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
412
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
413
+ [👽dl-rank]: https://bestgems.org/gems/rubocop-ruby1_8
414
+ [👽dl-ranki]: https://img.shields.io/gem/rd/rubocop-ruby1_8.svg
415
+ [👽version]: https://bestgems.org/gems/rubocop-ruby1_8
416
+ [👽versioni]: https://img.shields.io/gem/v/rubocop-ruby1_8.svg
417
+ [🏀qlty-mnt]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-ruby1_8
418
+ [🏀qlty-mnti]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-ruby1_8/maintainability.svg
419
+ [🏀qlty-cov]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-ruby1_8/metrics/code?sort=coverageRating
420
+ [🏀qlty-covi]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-ruby1_8/coverage.svg
421
+ [🏀codecov]: https://codecov.io/gh/rubocop-lts/rubocop-ruby1_8
422
+ [🏀codecovi]: https://codecov.io/gh/rubocop-lts/rubocop-ruby1_8/graph/badge.svg
423
+ [🏀coveralls]: https://coveralls.io/github/rubocop-lts/rubocop-ruby1_8?branch=main
424
+ [🏀coveralls-img]: https://coveralls.io/repos/github/rubocop-lts/rubocop-ruby1_8/badge.svg?branch=main
425
+ [🚎ruby-3.2-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/ruby-3.2.yml
426
+ [🚎ruby-3.3-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/ruby-3.3.yml
427
+ [🚎ruby-3.4-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/ruby-3.4.yml
428
+ [🚎jruby-10.0-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/jruby-10.0.yml
429
+ [🚎truby-24.2-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/truffleruby-24.2.yml
430
+ [🚎truby-25.0-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/truffleruby-25.0.yml
431
+ [🚎truby-33.0-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/truffleruby-33.0.yml
432
+ [🚎2-cov-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/coverage.yml
433
+ [🚎2-cov-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/coverage.yml/badge.svg
434
+ [🚎3-hd-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
435
+ [🚎3-hd-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
436
+ [🚎5-st-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/style.yml
437
+ [🚎5-st-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/style.yml/badge.svg
438
+ [🚎9-t-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/truffle.yml
439
+ [🚎9-t-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/truffle.yml/badge.svg
440
+ [🚎10-j-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/jruby.yml
441
+ [🚎10-j-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/jruby.yml/badge.svg
442
+ [🚎11-c-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
443
+ [🚎11-c-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
444
+ [🚎12-crh-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/dep-heads.yml
445
+ [🚎12-crh-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/dep-heads.yml/badge.svg
446
+ [🚎13-🔒️-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/locked_deps.yml
447
+ [🚎13-🔒️-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/locked_deps.yml/badge.svg
448
+ [🚎14-🔓️-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/unlocked_deps.yml
449
+ [🚎14-🔓️-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/unlocked_deps.yml/badge.svg
450
+ [🚎15-🪪-wf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/license-eye.yml
451
+ [🚎15-🪪-wfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/license-eye.yml/badge.svg
452
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
453
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
454
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
455
+ [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
456
+ [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
457
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
458
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
459
+ [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
460
+ [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
461
+ [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
462
+ [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
463
+ [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
464
+ [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
465
+ [🤝gh-issues]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
466
+ [🤝gh-pulls]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
467
+ [🤝gl-issues]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/issues
468
+ [🤝gl-pulls]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/merge_requests
469
+ [🤝cb-issues]: https://codeberg.org/rubocop-lts/rubocop-ruby1_8/issues
470
+ [🤝cb-pulls]: https://codeberg.org/rubocop-lts/rubocop-ruby1_8/pulls
471
+ [🤝cb-donate]: https://donate.codeberg.org/
472
+ [🤝contributing]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/CONTRIBUTING.md
473
+ [🏀codecov-g]: https://codecov.io/gh/rubocop-lts/rubocop-ruby1_8/graph/badge.svg
474
+ [🖐contrib-rocks]: https://contrib.rocks
475
+ [🖐contributors]: https://github.com/rubocop-lts/rubocop-ruby1_8/graphs/contributors
476
+ [🖐contributors-img]: https://contrib.rocks/image?repo=rubocop-lts/rubocop-ruby1_8
477
+ [🚎contributors-gl]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/graphs/main
478
+ [🪇conduct]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/CODE_OF_CONDUCT.md
479
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
480
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
481
+ [📌semver]: https://semver.org/spec/v2.0.0.html
482
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
483
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
484
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
485
+ [📌changelog]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/CHANGELOG.md
486
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
487
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
488
+ [📌gitmoji]: https://gitmoji.dev
489
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
490
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
491
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.029-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
492
+ [🔐security]: https://github.com/rubocop-lts/rubocop-ruby1_8/blob/main/SECURITY.md
493
+ [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
494
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
495
+ [📄license]: LICENSE.md
496
+ [📄license-ref]: MIT.md
497
+ [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
498
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
499
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
500
+
501
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
502
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
503
+ [🚎yard-current]: http://rubydoc.info/gems/rubocop-ruby1_8
504
+ [🚎yard-head]: https://rubocop-ruby1-8.galtzo.com
505
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
506
+ [💎SHA_checksums]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8/-/tree/main/checksums
507
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
508
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
509
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
510
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
511
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
512
+
513
+ <!-- kettle-jem:metadata:start -->
514
+ | Field | Value |
515
+ |---|---|
516
+ | Package | rubocop-ruby1_8 |
517
+ | Description | 🦾 Configure RuboCop + a bevy of friends to gradually lint Ruby 1.8 code |
518
+ | Homepage | https://github.com/rubocop-lts/rubocop-ruby1_8 |
519
+ | Source | https://github.com/rubocop-lts/rubocop-ruby1_8 |
520
+ | License | `MIT` |
521
+ | 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/pboling, https://tidelift.com/funding/github/rubygems/rubocop-ruby1_8, https://www.buymeacoffee.com/pboling |
522
+ <!-- kettle-jem:metadata:end -->