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