rubocop-lts 4.1.1 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +47 -23
- data/CONTRIBUTING.md +12 -26
- data/README.md +337 -198
- data/SECURITY.md +13 -31
- data/lib/rubocop/lts/version.rb +1 -3
- data/lib/rubocop/lts.rb +1 -12
- data/rubocop-lts.yml +8 -15
- data/sig/rubocop/lts.rbs +2 -4
- data/spec/config/rspec/rspec_core.rb +13 -0
- data/spec/rubocop/lts_spec.rb +7 -0
- data/spec/spec_helper.rb +7 -0
- metadata +31 -147
- checksums.yaml.gz.sig +0 -3
- data/config/base.yml +0 -2
- data/config/rails.yml +0 -4
- data/config/rails_rspec.yml +0 -4
- data/config/rspec.yml +0 -4
- data/config/ruby.yml +0 -4
- data/config/ruby_rspec.yml +0 -4
- data/config/rubygem.yml +0 -4
- data/config/rubygem_rspec.yml +0 -4
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/README.md
CHANGED
@@ -16,220 +16,323 @@
|
|
16
16
|
</a>
|
17
17
|
</p>
|
18
18
|
|
19
|
-
#
|
20
|
-
|
21
|
-
##
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
[Convention-Over-Configuration]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/
|
37
|
-
[Even-Major-Release]: https://rubocop-lts.gitlab.io/CONV_OVER_CONF/#even-major-release
|
38
|
-
[How-To-Upgrade-Ruby]: https://rubocop-lts.gitlab.io/HOW_TO_UPGRADE_RUBY/
|
39
|
-
[OrgHealth]: https://rubocop-lts.gitlab.io/#org-health-
|
40
|
-
[Installation]: https://rubocop-lts.gitlab.io/#installation-
|
41
|
-
[Usage]: https://rubocop-lts.gitlab.io/#usage-
|
42
|
-
[Contributing]: https://rubocop-lts.gitlab.io/#contributing-
|
43
|
-
[Contributors]: https://rubocop-lts.gitlab.io/#contributors-
|
44
|
-
[License]: https://rubocop-lts.gitlab.io/#license-
|
45
|
-
[Copyright]: https://rubocop-lts.gitlab.io/#copyright-
|
46
|
-
[Code of Conduct]: https://rubocop-lts.gitlab.io/#code-of-conduct-
|
47
|
-
[Versioning]: https://rubocop-lts.gitlab.io/#versioning-
|
48
|
-
|
49
|
-
## This README
|
50
|
-
|
51
|
-
* 🌳 [This Branch](#this-branch-)
|
52
|
-
* 💻 [Project Health](#project-health-)
|
53
|
-
* ✨ [Installation](#installation-)
|
54
|
-
|
55
|
-
## This Branch 🌳
|
19
|
+
# Rubocop LTS
|
20
|
+
|
21
|
+
## 🙋♀️ How often has RuboCop broken your build?
|
22
|
+
|
23
|
+
This is both good (literally its job) _and_ bad (when it's for the wrong reasons).
|
24
|
+
|
25
|
+
It's supposed to break the build when it finds violations.
|
26
|
+
It should not break the build due to incompatibility with your environment. RuboCop
|
27
|
+
doesn't [follow SemVer](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj), and occasionally it will unexpectedly break things.
|
28
|
+
|
29
|
+
## 🗿 Stable
|
30
|
+
|
31
|
+
All releases are stable releases. The major version you need depends on the supported version(s) of Ruby for your project.
|
32
|
+
|
33
|
+
Projects that support a single version of Ruby (like many closed-source applications) will use the [Odd releases][even-release].
|
34
|
+
|
35
|
+
Projects that support multiple versions of Ruby simultaneously (like many open-source applications and libraries) will use the [Even releases][even-release].
|
56
36
|
|
57
37
|
<!-- FIND VERSION -->
|
58
|
-
**This README is for the
|
38
|
+
**This README is for the odd release of `rubocop-lts` supporting Ruby ~> 2.1.0.**
|
59
39
|
|
60
|
-
|
40
|
+
[odd-release]: https://github.com/rubocop-lts/rubocop-lts#odd-major-release
|
41
|
+
[even-release]: https://github.com/rubocop-lts/rubocop-lts#even-major-release
|
61
42
|
|
62
|
-
|
63
|
-
- rubocop-gradual
|
64
|
-
- rubocop-md
|
65
|
-
- rubocop-rake
|
66
|
-
- rubocop-shopify
|
67
|
-
- rubocop-thread_safety
|
68
|
-
- standard
|
69
|
-
- standard-performance (incl. rubocop-performance)
|
70
|
-
- standard-custom
|
71
|
-
- standard-rubocop-lts (ruby version-specific rules)
|
43
|
+
## Version Conventions
|
72
44
|
|
73
|
-
|
45
|
+
### Odd Major Release
|
74
46
|
|
75
|
-
|
47
|
+
Versions like:
|
48
|
+
```ruby
|
49
|
+
"1.0.0"
|
50
|
+
"3.0.0"
|
51
|
+
"5.0.0"
|
52
|
+
# ... etc
|
53
|
+
```
|
54
|
+
Locked to a single minor version of Ruby, e.g. version 15.0 has a `required_ruby_version` of `['>= 2.6.0', '< 2.7']`, which will install only on `2.6.x` versions of Ruby.
|
55
|
+
|
56
|
+
#### Implementation
|
76
57
|
|
77
|
-
|
58
|
+
Intended for applications and libraries that only lint against a single Ruby version.
|
78
59
|
|
79
|
-
-
|
60
|
+
Odd versions should be attached to a project's trunk (e.g. the main branch), for long-term stability (ahem, _lts_, anyone?) of the style rules.
|
80
61
|
|
81
|
-
|
62
|
+
| Your Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
63
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
64
|
+
| `1.9.x` (`['>= 1.9.0', '< 2']`) | `gem "rubocop-lts", "~> 1.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
65
|
+
| `2.0.x` (`['>= 2.0.0', '< 2.1']`) | `gem "rubocop-lts", "~> 3.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
66
|
+
| `2.1.x` (`['>= 2.1.0', '< 2.2']`) | `gem "rubocop-lts", "~> 5.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
67
|
+
| `2.2.x` (`['>= 2.2.0', '< 2.3']`) | `gem "rubocop-lts", "~> 7.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
68
|
+
| `2.3.x` (`['>= 2.3.0', '< 2.4']`) | `gem "rubocop-lts", "~> 9.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
69
|
+
| `2.4.x` (`['>= 2.4.0', '< 2.5']`) | `gem "rubocop-lts", "~> 11.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
70
|
+
| `2.5.x` (`['>= 2.5.0', '< 2.6']`) | `gem "rubocop-lts", "~> 13.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
71
|
+
| `2.6.x` (`['>= 2.6.0', '< 2.7']`) | `gem "rubocop-lts", "~> 15.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
72
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.0']`) | `gem "rubocop-lts", "~> 17.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
73
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.1']`) | `gem "rubocop-lts", "~> 19.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
74
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 21.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
75
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 23.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
82
76
|
|
83
|
-
|
84
|
-
- betterlint
|
77
|
+
### Even Major Release
|
85
78
|
|
86
|
-
|
79
|
+
Versions like:
|
80
|
+
```ruby
|
81
|
+
"2.0.0"
|
82
|
+
"4.0.0"
|
83
|
+
"6.0.0"
|
84
|
+
# ... etc
|
85
|
+
```
|
86
|
+
Locked to the forward range of Rubies on which the gem can be installed (though rubocop may not execute on all),
|
87
|
+
e.g. version 16.0 has a `required_ruby_version` of `['>= 2.6.0', '< 3.2']` will install on any released version
|
88
|
+
of ruby from `2.6` on.
|
89
|
+
|
90
|
+
#### Implementation
|
91
|
+
|
92
|
+
Intended for applications and libraries that lint against a range of Ruby versions.
|
93
|
+
|
94
|
+
Even versions will help projects upgrade to newer Rubies while keeping the same underlying version of Rubocop version, so change can be introduced one step at a time.
|
95
|
+
|
96
|
+
| Minimum Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
97
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
98
|
+
| `1.9.x` (`['>= 1.9.0', '< 3.2']`) | `gem "rubocop-lts", "~> 2.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
99
|
+
| `2.0.x` (`['>= 2.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 4.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
100
|
+
| `2.1.x` (`['>= 2.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 6.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
101
|
+
| `2.2.x` (`['>= 2.2.0', '< 3.2']`) | `gem "rubocop-lts", "~> 8.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
102
|
+
| `2.3.x` (`['>= 2.3.0', '< 3.2']`) | `gem "rubocop-lts", "~> 10.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
103
|
+
| `2.4.x` (`['>= 2.4.0', '< 3.2']`) | `gem "rubocop-lts", "~> 12.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
104
|
+
| `2.5.x` (`['>= 2.5.0', '< 3.2']`) | `gem "rubocop-lts", "~> 14.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
105
|
+
| `2.6.x` (`['>= 2.6.0', '< 3.2']`) | `gem "rubocop-lts", "~> 16.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
106
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.2']`) | `gem "rubocop-lts", "~> 18.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
107
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 20.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
108
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 22.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
109
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 24.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
110
|
+
|
111
|
+
### All together now!
|
112
|
+
|
113
|
+
Upgrading a single step from odd to even will allow upgrading Ruby.
|
114
|
+
|
115
|
+
Upgrading a single step from even to odd will keep the same version of Ruby, and instead upgrade to the next RuboCop milestone.
|
116
|
+
|
117
|
+
Each major version will have a tracking branch named accordingly, [for development](https://github.com/rubocop-lts/rubocop-lts#git-branch-names).
|
118
|
+
|
119
|
+
### 🪢 How To Untie Gorgon's Knot
|
120
|
+
|
121
|
+
> NOTE: The ruby specific versions, e.g. `rubocop-ruby2_7`, can be used if you won't be upgrading ruby. Keep scrolling down for links to each of them.
|
122
|
+
|
123
|
+
How to upgrade a project from yesterday, to today.
|
124
|
+
|
125
|
+
1. Have good code coverage.
|
126
|
+
2. Upgrade one step at a time.
|
127
|
+
3. Re-run `bundle exec rubocop -a` in between each step.
|
128
|
+
4. Re-run `bundle exec rubocop --auto-gen-config` in between each step.
|
129
|
+
5. Commit and push to CI in between each step.
|
130
|
+
|
131
|
+
| Your Ruby | Your Gemfile | required_ruby_version | Your Gemfile.lock | Your .rubocop.yml |
|
132
|
+
|---------------|--------------------------------------|-------------------------|------------------------------|------------------------------------------------|
|
133
|
+
| `1.9.x` | `gem "rubocop-lts", "~> 1.0"` | `['>= 1.9.0', '< 2']` | [`rubocop-ruby1_9`][⛳️19-gh] | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
134
|
+
| ⬆️ to `2.0.x` | ⬆️ to `gem "rubocop-lts", "~> 2.0"` | `['>= 1.9.0', '< 3.2']` | no change | no change |
|
135
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 3.0"` | `['>= 2.0.0', '< 2.1']` | [`rubocop-ruby2_0`][⛳️20-gh] | no change |
|
136
|
+
| ⬆️ to `2.1.x` | ⬆️ to `gem "rubocop-lts", "~> 4.0"` | `['>= 2.0.0', '< 3.2']` | no change | no change |
|
137
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 5.0"` | `['>= 2.1.0', '< 2.2']` | [`rubocop-ruby2_1`][⛳️21-gh] | no change |
|
138
|
+
| ⬆️ to `2.2.x` | ⬆️ to `gem "rubocop-lts", "~> 6.0"` | `['>= 2.1.0', '< 3.2']` | no change | no change |
|
139
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 7.0"` | `['>= 2.2.0', '< 2.3']` | [`rubocop-ruby2_2`][⛳️22-gh] | no change |
|
140
|
+
| ⬆️ to `2.3.x` | ⬆️ to `gem "rubocop-lts", "~> 8.0"` | `['>= 2.2.0', '< 3.2']` | no change | no change |
|
141
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 9.0"` | `['>= 2.3.0', '< 2.4']` | [`rubocop-ruby2_3`][⛳️23-gh] | no change |
|
142
|
+
| ⬆️ to `2.4.x` | ⬆️ to `gem "rubocop-lts", "~> 10.0"` | `['>= 2.3.0', '< 3.2']` | no change | no change |
|
143
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 11.0"` | `['>= 2.4.0', '< 2.5']` | [`rubocop-ruby2_4`][⛳️24-gh] | no change |
|
144
|
+
| ⬆️ to `2.5.x` | ⬆️ to `gem "rubocop-lts", "~> 12.0"` | `['>= 2.4.0', '< 3.2']` | no change | no change |
|
145
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 13.0"` | `['>= 2.5.0', '< 2.6']` | [`rubocop-ruby2_5`][⛳️25-gh] | no change |
|
146
|
+
| ⬆️ to `2.6.x` | ⬆️ to `gem "rubocop-lts", "~> 14.0"` | `['>= 2.5.0', '< 3.2']` | no change | no change |
|
147
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 15.0"` | `['>= 2.6.0', '< 2.7']` | [`rubocop-ruby2_6`][⛳️26-gh] | no change |
|
148
|
+
| ⬆️ to `2.7.x` | ⬆️ to `gem "rubocop-lts", "~> 16.0"` | `['>= 2.6.0', '< 3.2']` | no change | no change |
|
149
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 17.0"` | `['>= 2.7.0', '< 3.0']` | [`rubocop-ruby2_7`][⛳️27-gh] | no change |
|
150
|
+
| ⬆️ to `3.0.x` | ⬆️ to `gem "rubocop-lts", "~> 18.0"` | `['>= 2.7.0', '< 3.2']` | no change | no change |
|
151
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 19.0"` | `['>= 3.0.0', '< 3.1']` | [`rubocop-ruby3_0`][⛳️30-gh] | no change |
|
152
|
+
| ⬆️ to `3.1.x` | ⬆️ to `gem "rubocop-lts", "~> 20.0"` | `['>= 3.0.0', '< 3.2']` | no change | no change |
|
153
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 21.0"` | `['>= 3.1.0', '< 3.2']` | [`rubocop-ruby3_1`][⛳️31-gh] | no change |
|
154
|
+
| ⬆️ to `3.2.x` | ⬆️ to `gem "rubocop-lts", "~> 22.0"` | `['>= 3.1.0', '< 3.2']` | no change | no change |
|
155
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 23.0"` | `['>= 3.2.0', '< 3.3']` | [`rubocop-ruby3_2`][⛳️32-gh] | no change |
|
156
|
+
| ⬆️ to `3.3.x` | ⬆️ to `gem "rubocop-lts", "~> 24.0"` | `['>= 3.2.0', '< 3.3']` | no change | no change |
|
157
|
+
|
158
|
+
> NOTE: `required_ruby_version` means the gem will install on a version of Ruby within the range.
|
159
|
+
> Versions of this gem intended for ancient Rubies may not execute on more modern Rubies, _despite installing_.
|
160
|
+
> As such you might consider limiting linting to only a single version of Ruby, the oldest one supported.
|
161
|
+
> Speaking of old rubies... 👇
|
162
|
+
|
163
|
+
### 📼 Supporting Ruby 1.8
|
164
|
+
|
165
|
+
Have a library still supporting Ruby 1.8.7, or looking to drop support for Ruby 1.8.7 in a SemVer-compliant manner?
|
166
|
+
|
167
|
+
Simply use `rubocop-lts`, version 1.x or 2.x, which support Ruby 1.9.3 for installation, and 1.8.7 for syntax.
|
168
|
+
```yaml
|
169
|
+
inherit_gem:
|
170
|
+
rubocop-lts: rubocop-lts1_8.yml
|
171
|
+
```
|
87
172
|
|
88
|
-
|
89
|
-
|------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
90
|
-
| [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] [![Heads][🖐lts-hwfi]][🖐lts-hwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
|
91
|
-
| [`rubocop-ruby1_8`][⛳️18-gh] | [![Gem Version][⛳️18-vi]][⛳️18-g] | [![Total DL][🖇️18-dti]][⛳️18-g] [![DL Rank][🏘️18-rti]][⛳️18-g] | [![Current][🚎18-cwfi]][🚎18-cwf] [![Heads][🖐18-hwfi]][🖐18-hwf] | [![Open Issues][📗18-ioi]][📗18-io] [![Closed Issues][🚀18-ici]][🚀18-ic] [![Open PRs][💄18-poi]][💄18-po] [![Closed PRs][👽18-pci]][👽18-pc] |
|
92
|
-
| [`rubocop-ruby1_9`][⛳️19-gh] | [![Gem Version][⛳️19-vi]][⛳️19-g] | [![Total DL][🖇️19-dti]][⛳️19-g] [![DL Rank][🏘️19-rti]][⛳️19-g] | [![Current][🚎19-cwfi]][🚎19-cwf] [![Heads][🖐19-hwfi]][🖐19-hwf] | [![Open Issues][📗19-ioi]][📗19-io] [![Closed Issues][🚀19-ici]][🚀19-ic] [![Open PRs][💄19-poi]][💄19-po] [![Closed PRs][👽19-pci]][👽19-pc] |
|
93
|
-
| [`rubocop-ruby2_0`][⛳️20-gh] | [![Gem Version][⛳️20-vi]][⛳️20-g] | [![Total DL][🖇️20-dti]][⛳️20-g] [![DL Rank][🏘️20-rti]][⛳️20-g] | [![Current][🚎20-cwfi]][🚎20-cwf] [![Heads][🖐20-hwfi]][🖐20-hwf] | [![Open Issues][📗20-ioi]][📗20-io] [![Closed Issues][🚀20-ici]][🚀20-ic] [![Open PRs][💄20-poi]][💄20-po] [![Closed PRs][👽20-pci]][👽20-pc] |
|
94
|
-
| [`rubocop-ruby2_1`][⛳️21-gh] | [![Gem Version][⛳️21-vi]][⛳️21-g] | [![Total DL][🖇️21-dti]][⛳️21-g] [![DL Rank][🏘️21-rti]][⛳️21-g] | [![Current][🚎21-cwfi]][🚎21-cwf] [![Heads][🖐21-hwfi]][🖐21-hwf] | [![Open Issues][📗21-ioi]][📗21-io] [![Closed Issues][🚀21-ici]][🚀21-ic] [![Open PRs][💄21-poi]][💄21-po] [![Closed PRs][👽21-pci]][👽21-pc] |
|
95
|
-
| [`rubocop-ruby2_2`][⛳️22-gh] | [![Gem Version][⛳️22-vi]][⛳️22-g] | [![Total DL][🖇️22-dti]][⛳️22-g] [![DL Rank][🏘️22-rti]][⛳️22-g] | [![Current][🚎22-cwfi]][🚎22-cwf] [![Heads][🖐22-hwfi]][🖐22-hwf] | [![Open Issues][📗22-ioi]][📗22-io] [![Closed Issues][🚀22-ici]][🚀22-ic] [![Open PRs][💄22-poi]][💄22-po] [![Closed PRs][👽22-pci]][👽22-pc] |
|
96
|
-
| [`rubocop-ruby2_3`][⛳️23-gh] | [![Gem Version][⛳️23-vi]][⛳️23-g] | [![Total DL][🖇️23-dti]][⛳️23-g] [![DL Rank][🏘️23-rti]][⛳️23-g] | [![Current][🚎23-cwfi]][🚎23-cwf] [![Heads][🖐23-hwfi]][🖐23-hwf] | [![Open Issues][📗23-ioi]][📗23-io] [![Closed Issues][🚀23-ici]][🚀23-ic] [![Open PRs][💄23-poi]][💄23-po] [![Closed PRs][👽23-pci]][👽23-pc] |
|
97
|
-
| [`rubocop-ruby2_4`][⛳️24-gh] | [![Gem Version][⛳️24-vi]][⛳️24-g] | [![Total DL][🖇️24-dti]][⛳️24-g] [![DL Rank][🏘️24-rti]][⛳️24-g] | [![Current][🚎24-cwfi]][🚎24-cwf] [![Heads][🖐24-hwfi]][🖐24-hwf] | [![Open Issues][📗24-ioi]][📗24-io] [![Closed Issues][🚀24-ici]][🚀24-ic] [![Open PRs][💄24-poi]][💄24-po] [![Closed PRs][👽24-pci]][👽24-pc] |
|
98
|
-
| [`rubocop-ruby2_5`][⛳️25-gh] | [![Gem Version][⛳️25-vi]][⛳️25-g] | [![Total DL][🖇️25-dti]][⛳️25-g] [![DL Rank][🏘️25-rti]][⛳️25-g] | [![Current][🚎25-cwfi]][🚎25-cwf] [![Heads][🖐25-hwfi]][🖐25-hwf] | [![Open Issues][📗25-ioi]][📗25-io] [![Closed Issues][🚀25-ici]][🚀25-ic] [![Open PRs][💄25-poi]][💄25-po] [![Closed PRs][👽25-pci]][👽25-pc] |
|
99
|
-
| [`rubocop-ruby2_6`][⛳️26-gh] | [![Gem Version][⛳️26-vi]][⛳️26-g] | [![Total DL][🖇️26-dti]][⛳️26-g] [![DL Rank][🏘️26-rti]][⛳️26-g] | [![Current][🚎26-cwfi]][🚎26-cwf] [![Heads][🖐26-hwfi]][🖐26-hwf] | [![Open Issues][📗26-ioi]][📗26-io] [![Closed Issues][🚀26-ici]][🚀26-ic] [![Open PRs][💄26-poi]][💄26-po] [![Closed PRs][👽26-pci]][👽26-pc] |
|
100
|
-
| [`rubocop-ruby2_7`][⛳️27-gh] | [![Gem Version][⛳️27-vi]][⛳️27-g] | [![Total DL][🖇️27-dti]][⛳️27-g] [![DL Rank][🏘️27-rti]][⛳️27-g] | [![Current][🚎27-cwfi]][🚎27-cwf] [![Heads][🖐27-hwfi]][🖐27-hwf] | [![Open Issues][📗27-ioi]][📗27-io] [![Closed Issues][🚀27-ici]][🚀27-ic] [![Open PRs][💄27-poi]][💄27-po] [![Closed PRs][👽27-pci]][👽27-pc] |
|
101
|
-
| [`rubocop-ruby3_0`][⛳️30-gh] | [![Gem Version][⛳️30-vi]][⛳️30-g] | [![Total DL][🖇️30-dti]][⛳️30-g] [![DL Rank][🏘️30-rti]][⛳️30-g] | [![Current][🚎30-cwfi]][🚎30-cwf] [![Heads][🖐30-hwfi]][🖐30-hwf] | [![Open Issues][📗30-ioi]][📗30-io] [![Closed Issues][🚀30-ici]][🚀30-ic] [![Open PRs][💄30-poi]][💄30-po] [![Closed PRs][👽30-pci]][👽30-pc] |
|
102
|
-
| [`rubocop-ruby3_1`][⛳️31-gh] | [![Gem Version][⛳️31-vi]][⛳️31-g] | [![Total DL][🖇️31-dti]][⛳️31-g] [![DL Rank][🏘️31-rti]][⛳️31-g] | [![Current][🚎31-cwfi]][🚎31-cwf] [![Heads][🖐31-hwfi]][🖐31-hwf] | [![Open Issues][📗31-ioi]][📗31-io] [![Closed Issues][🚀31-ici]][🚀31-ic] [![Open PRs][💄31-poi]][💄31-po] [![Closed PRs][👽31-pci]][👽31-pc] |
|
103
|
-
| [`rubocop-ruby3_2`][⛳️32-gh] | [![Gem Version][⛳️32-vi]][⛳️32-g] | [![Total DL][🖇️32-dti]][⛳️32-g] [![DL Rank][🏘️32-rti]][⛳️32-g] | [![Current][🚎32-cwfi]][🚎32-cwf] [![Heads][🖐32-hwfi]][🖐32-hwf] | [![Open Issues][📗32-ioi]][📗32-io] [![Closed Issues][🚀32-ici]][🚀32-ic] [![Open PRs][💄32-poi]][💄32-po] [![Closed PRs][👽32-pci]][👽32-pc] |
|
173
|
+
> NOTE: For more on how Ruby 1.8 support works, look [here][what1_8]
|
104
174
|
|
105
|
-
|
175
|
+
[what1_8]: https://github.com/rubocop-lts/rubocop-ruby1_9#what-about-ruby-18
|
106
176
|
|
107
|
-
|
177
|
+
## 👩💻 Project Health
|
108
178
|
|
109
|
-
|
179
|
+
| Gem Name | Version | Downloads | CI | Activity |
|
180
|
+
|------------------------------|-------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
181
|
+
| [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] [![Legacy][🧮lts-lwfi]][🧮lts-lwf] [![Heads][🖐lts-hwfi]][🖐lts-hwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
|
182
|
+
| [`rubocop-ruby1_9`][⛳️19-gh] | [![Gem Version][⛳️19-vi]][⛳️19-g] | [![Total DL][🖇️19-dti]][⛳️19-g] [![DL Rank][🏘️19-rti]][⛳️19-g] | [![Current][🚎19-cwfi]][🚎19-cwf] [![Legacy][🧮19-lwfi]][🧮19-lwf] | [![Open Issues][📗19-ioi]][📗19-io] [![Closed Issues][🚀19-ici]][🚀19-ic] [![Open PRs][💄19-poi]][💄19-po] [![Closed PRs][👽19-pci]][👽19-pc] |
|
183
|
+
| [`rubocop-ruby2_0`][⛳️20-gh] | [![Gem Version][⛳️20-vi]][⛳️20-g] | [![Total DL][🖇️20-dti]][⛳️20-g] [![DL Rank][🏘️20-rti]][⛳️20-g] | [![Current][🚎20-cwfi]][🚎20-cwf] [![Legacy][🧮20-lwfi]][🧮20-lwf] | [![Open Issues][📗20-ioi]][📗20-io] [![Closed Issues][🚀20-ici]][🚀20-ic] [![Open PRs][💄20-poi]][💄20-po] [![Closed PRs][👽20-pci]][👽20-pc] |
|
184
|
+
| [`rubocop-ruby2_1`][⛳️21-gh] | [![Gem Version][⛳️21-vi]][⛳️21-g] | [![Total DL][🖇️21-dti]][⛳️21-g] [![DL Rank][🏘️21-rti]][⛳️21-g] | [![Current][🚎21-cwfi]][🚎21-cwf] [![Legacy][🧮21-lwfi]][🧮21-lwf] | [![Open Issues][📗21-ioi]][📗21-io] [![Closed Issues][🚀21-ici]][🚀21-ic] [![Open PRs][💄21-poi]][💄21-po] [![Closed PRs][👽21-pci]][👽21-pc] |
|
185
|
+
| [`rubocop-ruby2_2`][⛳️22-gh] | [![Gem Version][⛳️22-vi]][⛳️22-g] | [![Total DL][🖇️22-dti]][⛳️22-g] [![DL Rank][🏘️22-rti]][⛳️22-g] | [![Current][🚎22-cwfi]][🚎22-cwf] [![Legacy][🧮22-lwfi]][🧮22-lwf] | [![Open Issues][📗22-ioi]][📗22-io] [![Closed Issues][🚀22-ici]][🚀22-ic] [![Open PRs][💄22-poi]][💄22-po] [![Closed PRs][👽22-pci]][👽22-pc] |
|
186
|
+
| [`rubocop-ruby2_3`][⛳️23-gh] | [![Gem Version][⛳️23-vi]][⛳️23-g] | [![Total DL][🖇️23-dti]][⛳️23-g] [![DL Rank][🏘️23-rti]][⛳️23-g] | [![Current][🚎23-cwfi]][🚎23-cwf] [![Legacy][🧮23-lwfi]][🧮23-lwf] | [![Open Issues][📗23-ioi]][📗23-io] [![Closed Issues][🚀23-ici]][🚀23-ic] [![Open PRs][💄23-poi]][💄23-po] [![Closed PRs][👽23-pci]][👽23-pc] |
|
187
|
+
| [`rubocop-ruby2_4`][⛳️24-gh] | [![Gem Version][⛳️24-vi]][⛳️24-g] | [![Total DL][🖇️24-dti]][⛳️24-g] [![DL Rank][🏘️24-rti]][⛳️24-g] | [![Current][🚎24-cwfi]][🚎24-cwf] [![Legacy][🧮24-lwfi]][🧮24-lwf] | [![Open Issues][📗24-ioi]][📗24-io] [![Closed Issues][🚀24-ici]][🚀24-ic] [![Open PRs][💄24-poi]][💄24-po] [![Closed PRs][👽24-pci]][👽24-pc] |
|
188
|
+
| [`rubocop-ruby2_5`][⛳️25-gh] | [![Gem Version][⛳️25-vi]][⛳️25-g] | [![Total DL][🖇️25-dti]][⛳️25-g] [![DL Rank][🏘️25-rti]][⛳️25-g] | [![Current][🚎25-cwfi]][🚎25-cwf] [![Heads][🖐25-hwfi]][🖐25-hwf] [![Legacy][🧮25-lwfi]][🧮25-lwf] | [![Open Issues][📗25-ioi]][📗25-io] [![Closed Issues][🚀25-ici]][🚀25-ic] [![Open PRs][💄25-poi]][💄25-po] [![Closed PRs][👽25-pci]][👽25-pc] |
|
189
|
+
| [`rubocop-ruby2_6`][⛳️26-gh] | [![Gem Version][⛳️26-vi]][⛳️26-g] | [![Total DL][🖇️26-dti]][⛳️26-g] [![DL Rank][🏘️26-rti]][⛳️26-g] | [![Current][🚎26-cwfi]][🚎26-cwf] [![Heads][🖐26-hwfi]][🖐26-hwf] [![Legacy][🧮26-lwfi]][🧮26-lwf] | [![Open Issues][📗26-ioi]][📗26-io] [![Closed Issues][🚀26-ici]][🚀26-ic] [![Open PRs][💄26-poi]][💄26-po] [![Closed PRs][👽26-pci]][👽26-pc] |
|
190
|
+
| [`rubocop-ruby2_7`][⛳️27-gh] | [![Gem Version][⛳️27-vi]][⛳️27-g] | [![Total DL][🖇️27-dti]][⛳️27-g] [![DL Rank][🏘️27-rti]][⛳️27-g] | [![Current][🚎27-cwfi]][🚎27-cwf] [![Heads][🖐27-hwfi]][🖐27-hwf] | [![Open Issues][📗27-ioi]][📗27-io] [![Closed Issues][🚀27-ici]][🚀27-ic] [![Open PRs][💄27-poi]][💄27-po] [![Closed PRs][👽27-pci]][👽27-pc] |
|
191
|
+
| [`rubocop-ruby3_0`][⛳️30-gh] | [![Gem Version][⛳️30-vi]][⛳️30-g] | [![Total DL][🖇️30-dti]][⛳️30-g] [![DL Rank][🏘️30-rti]][⛳️30-g] | [![Current][🚎30-cwfi]][🚎30-cwf] [![Heads][🖐30-hwfi]][🖐30-hwf] | [![Open Issues][📗30-ioi]][📗30-io] [![Closed Issues][🚀30-ici]][🚀30-ic] [![Open PRs][💄30-poi]][💄30-po] [![Closed PRs][👽30-pci]][👽30-pc] |
|
192
|
+
| [`rubocop-ruby3_1`][⛳️31-gh] | [![Gem Version][⛳️31-vi]][⛳️31-g] | [![Total DL][🖇️31-dti]][⛳️31-g] [![DL Rank][🏘️31-rti]][⛳️31-g] | [![Current][🚎31-cwfi]][🚎31-cwf] [![Heads][🖐31-hwfi]][🖐31-hwf] | [![Open Issues][📗31-ioi]][📗31-io] [![Closed Issues][🚀31-ici]][🚀31-ic] [![Open PRs][💄31-poi]][💄31-po] [![Closed PRs][👽31-pci]][👽31-pc] |
|
193
|
+
| [`rubocop-ruby3_2`][⛳️32-gh] | [![Gem Version][⛳️32-vi]][⛳️32-g] | [![Total DL][🖇️32-dti]][⛳️32-g] [![DL Rank][🏘️32-rti]][⛳️32-g] | [![Current][🚎32-cwfi]][🚎32-cwf] [![Heads][🖐32-hwfi]][🖐32-hwf] | [![Open Issues][📗32-ioi]][📗32-io] [![Closed Issues][🚀32-ici]][🚀32-ic] [![Open PRs][💄32-poi]][💄32-po] [![Closed PRs][👽32-pci]][👽32-pc] |
|
110
194
|
|
111
|
-
|
112
|
-
so the Railtie will load and rake tasks will be loaded automatically.
|
195
|
+
## ✨ Installation
|
113
196
|
|
114
|
-
|
197
|
+
Without bundler execute:
|
115
198
|
|
116
|
-
$ gem install
|
199
|
+
$ gem install
|
117
200
|
|
118
|
-
|
201
|
+
Add this line to your application's Gemfile:
|
119
202
|
|
120
203
|
<!-- FIND VERSION -->
|
121
204
|
```ruby
|
122
|
-
gem
|
205
|
+
gem 'rubocop-lts', '~> 5.0', require: false
|
123
206
|
```
|
124
207
|
|
125
208
|
And then execute:
|
126
209
|
|
127
210
|
$ bundle
|
128
211
|
|
129
|
-
## Usage
|
212
|
+
## 🔧 Usage
|
130
213
|
|
131
|
-
|
214
|
+
The following is optional. We'll discuss why you might want to do this after you see what it does.
|
215
|
+
|
216
|
+
Add to the top of your project's `.rubocop.yml` configuration file:
|
132
217
|
|
133
|
-
🔥 Delete the following line 🔥
|
134
218
|
```yaml
|
135
|
-
|
219
|
+
inherit_gem:
|
220
|
+
- rubocop-lts.yml
|
136
221
|
```
|
137
222
|
|
138
|
-
|
139
|
-
This tool is anti-bike-shedding.
|
140
|
-
You no longer need to worry about the rules!
|
223
|
+
## Development
|
141
224
|
|
142
|
-
|
143
|
-
```yaml
|
144
|
-
require:
|
145
|
-
- 'betterlint'
|
146
|
-
- 'rubocop-md'
|
147
|
-
- 'rubocop-packaging'
|
148
|
-
- 'rubocop-performance'
|
149
|
-
- 'rubocop-rake'
|
150
|
-
- 'rubocop-rspec'
|
151
|
-
- 'rubocop-rails'
|
152
|
-
- 'rubocop-thread_safety'
|
153
|
-
- 'rubocop/gradual/patch'
|
154
|
-
- 'standard'
|
155
|
-
- 'standard-custom'
|
156
|
-
- 'standard-performance'
|
157
|
-
- 'standard-rails'
|
158
|
-
- 'standard-rubocop-lts'
|
159
|
-
|
160
|
-
AllCops:
|
161
|
-
NewCops: enable
|
162
|
-
DisplayCopNames: true
|
163
|
-
TargetRubyVersion: X.X
|
164
|
-
```
|
225
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
165
226
|
|
166
|
-
|
227
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
167
228
|
|
168
|
-
###
|
229
|
+
### Git Branch Names
|
169
230
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
# rubocop-lts: config/ruby_rspec.yml
|
231
|
+
#### Naming Scheme
|
232
|
+
|
233
|
+
```ruby
|
234
|
+
"r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
|
175
235
|
```
|
176
236
|
|
177
|
-
|
237
|
+
##### Parity
|
178
238
|
|
179
|
-
|
180
|
-
|
181
|
-
rubocop-lts: config/ruby.yml
|
182
|
-
```
|
239
|
+
Even versions use the token `even` in the branch name.
|
240
|
+
Odd versions use the token `odd` in the branch name.
|
183
241
|
|
184
|
-
|
242
|
+
#### Version - Branch Matrix
|
185
243
|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
244
|
+
| Ruby Version | Parity | Gem Version | Branch Name | Purpose |
|
245
|
+
|-----------------|--------|-------------|-----------------|-----------------------------------|
|
246
|
+
| 1.9 | odd | 1.x | `r1_9-odd-v1` | LTS, trunk, single-ruby-linting |
|
247
|
+
| 1.9 | even | 2.x | `r1_9-even-v2` | Upgrade, feat, multi-ruby-linting |
|
248
|
+
| 2.0 | odd | 3.x | `r2_0-odd-v3` | LTS, trunk, single-ruby-linting |
|
249
|
+
| 2.0 | even | 4.x | `r2_0-even-v4` | Upgrade, feat, multi-ruby-linting |
|
250
|
+
| 2.1 | odd | 5.x | `r2_1-odd-v5` | LTS, trunk, single-ruby-linting |
|
251
|
+
| 2.1 | even | 6.x | `r2_1-even-v6` | Upgrade, feat, multi-ruby-linting |
|
252
|
+
| 2.2 | odd | 7.x | `r2_2-odd-v7` | LTS, trunk, single-ruby-linting |
|
253
|
+
| 2.2 | even | 8.x | `r2_2-even-v8` | Upgrade, feat, multi-ruby-linting |
|
254
|
+
| 2.3 | odd | 9.x | `r2_3-odd-v9` | LTS, trunk, single-ruby-linting |
|
255
|
+
| 2.3 | even | 10.x | `r2_3-even-v10` | Upgrade, feat, multi-ruby-linting |
|
256
|
+
| 2.4 | odd | 11.x | `r2_4-odd-v11` | LTS, trunk, single-ruby-linting |
|
257
|
+
| 2.4 | even | 12.x | `r2_4-even-v12` | Upgrade, feat, multi-ruby-linting |
|
258
|
+
| 2.5 | odd | 13.x | `r2_5-odd-v13` | LTS, trunk, single-ruby-linting |
|
259
|
+
| 2.5 | even | 14.x | `r2_5-even-v14` | Upgrade, feat, multi-ruby-linting |
|
260
|
+
| 2.6 | odd | 15.x | `r2_6-odd-v15` | LTS, trunk, single-ruby-linting |
|
261
|
+
| 2.6 | even | 16.x | `r2_6-even-v16` | Upgrade, feat, multi-ruby-linting |
|
262
|
+
| 2.7 | odd | 17.x | `r2_7-odd-v17` | LTS, trunk, single-ruby-linting |
|
263
|
+
| 2.7 | even | 18.x | `r2_7-even-v18` | Upgrade, feat, multi-ruby-linting |
|
264
|
+
| 3.0 | odd | 19.x | `r3_0-odd-v19` | LTS, trunk, single-ruby-linting |
|
265
|
+
| 3.0 | even | 20.x | `r3_0-even-v20` | Upgrade, feat, multi-ruby-linting |
|
266
|
+
| 3.1 | odd | 21.x | `r3_1-odd-v21` | LTS, trunk, single-ruby-linting |
|
267
|
+
| 3.1 | even | 22.x | `r3_1-even-v22` | Upgrade, feat, multi-ruby-linting |
|
268
|
+
| 3.2 / ruby-head | odd | 23.x | `r3_2-odd-v23` | LTS, trunk, single-ruby-linting |
|
269
|
+
| 3.2 / ruby-head | even | 24.x | `r3_2-even-v24` | Upgrade, feat, multi-ruby-linting |
|
190
270
|
|
191
|
-
|
271
|
+
> NOTE: For more on how Ruby 1.8 support works, see [above][lts1_8]
|
192
272
|
|
193
|
-
|
194
|
-
inherit_gem:
|
195
|
-
rubocop-lts: config/rails.yml
|
196
|
-
```
|
273
|
+
[lts1_8]: https://github.com/rubocop-lts/rubocop-lts#supporting-ruby-18
|
197
274
|
|
198
|
-
|
275
|
+
## ⚡️ Contributing
|
199
276
|
|
200
|
-
|
201
|
-
inherit_gem:
|
202
|
-
rubocop-lts: config/rubygem_rspec.yml
|
203
|
-
```
|
277
|
+
See [CONTRIBUTING.md][contributing]
|
204
278
|
|
205
|
-
|
279
|
+
## 🌈 Contributors
|
206
280
|
|
207
|
-
|
208
|
-
inherit_gem:
|
209
|
-
rubocop-lts: config/rubygem.yml
|
210
|
-
```
|
281
|
+
[![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts)]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
|
211
282
|
|
212
|
-
|
283
|
+
Made with [contributors-img](https://contrib.rocks).
|
213
284
|
|
214
|
-
|
285
|
+
## 📄 License
|
215
286
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
Rubocop::Lts.install_tasks
|
220
|
-
```
|
287
|
+
The gem is available as open source under the terms of
|
288
|
+
the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
|
289
|
+
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
221
290
|
|
222
|
-
|
291
|
+
<details>
|
292
|
+
<summary>Project Logos (rubocop-lts)</summary>
|
223
293
|
|
224
|
-
|
294
|
+
See [docs/images/logo/README.txt][project-logos]
|
295
|
+
</details>
|
225
296
|
|
226
|
-
|
297
|
+
<details>
|
298
|
+
<summary>Organization Logo (rubocop-semver)</summary>
|
227
299
|
|
228
|
-
|
229
|
-
|
230
|
-
|
300
|
+
Author: [Yusuf Evli][org-logo-author]
|
301
|
+
Source: [Unsplash][org-logo-source]
|
302
|
+
License: [Unsplash License][org-logo-license]
|
303
|
+
</details>
|
304
|
+
|
305
|
+
[project-logos]: https://github.com/rubocop-lts/rubocop-lts/blob/main/docs/images/logo/README.txt
|
306
|
+
[org-logo-author]: https://unsplash.com/@yusufevli
|
307
|
+
[org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
|
308
|
+
[org-logo-license]: https://unsplash.com/license
|
309
|
+
|
310
|
+
### © Copyright
|
311
|
+
|
312
|
+
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
313
|
+
|
314
|
+
## 🤝 Code of Conduct
|
315
|
+
|
316
|
+
Everyone interacting in Rubocop LTS codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md).
|
317
|
+
|
318
|
+
## 📌 Versioning
|
319
|
+
|
320
|
+
This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
|
321
|
+
bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
|
322
|
+
immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
|
323
|
+
major versions.
|
324
|
+
|
325
|
+
As a result of this policy, you can (and should) specify a dependency on this gem using
|
326
|
+
the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
327
|
+
|
328
|
+
For example:
|
329
|
+
|
330
|
+
<!-- FIND VERSION -->
|
331
|
+
```ruby
|
332
|
+
spec.add_dependency "rubocop-lts", "~> 5.0"
|
231
333
|
```
|
232
334
|
|
335
|
+
|
233
336
|
<!-- columnar badge #s for Project Health table:
|
234
337
|
⛳️
|
235
338
|
🖇
|
@@ -250,6 +353,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
250
353
|
[🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
|
251
354
|
[🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
|
252
355
|
[🖐lts-hwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml/badge.svg
|
356
|
+
[🧮lts-lwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml
|
357
|
+
[🧮lts-lwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml/badge.svg
|
253
358
|
[📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
|
254
359
|
[📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
|
255
360
|
[🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
|
@@ -260,23 +365,6 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
260
365
|
[👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
|
261
366
|
[⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
|
262
367
|
[⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
|
263
|
-
[⛳️18-vi]: http://img.shields.io/gem/v/rubocop-ruby1_8.svg
|
264
|
-
[🖇️18-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_8.svg
|
265
|
-
[🏘️18-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_8.svg
|
266
|
-
[🚎18-cwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml
|
267
|
-
[🚎18-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/current.yml/badge.svg
|
268
|
-
[🖐18-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml
|
269
|
-
[🖐18-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_8/actions/workflows/heads.yml/badge.svg
|
270
|
-
[📗18-io]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues
|
271
|
-
[📗18-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_8
|
272
|
-
[🚀18-ic]: https://github.com/rubocop-lts/rubocop-ruby1_8/issues?q=is%3Aissue+is%3Aclosed
|
273
|
-
[🚀18-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby1_8
|
274
|
-
[💄18-po]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls
|
275
|
-
[💄18-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby1_8
|
276
|
-
[👽18-pc]: https://github.com/rubocop-lts/rubocop-ruby1_8/pulls?q=is%3Apr+is%3Aclosed
|
277
|
-
[👽18-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby1_8
|
278
|
-
[⛳️18-g]: https://rubygems.org/gems/rubocop-ruby1_8
|
279
|
-
[⛳️18-gh]: https://github.com/rubocop-lts/rubocop-ruby1_8
|
280
368
|
[⛳️19-vi]: http://img.shields.io/gem/v/rubocop-ruby1_9.svg
|
281
369
|
[🖇️19-dti]: https://img.shields.io/gem/dt/rubocop-ruby1_9.svg
|
282
370
|
[🏘️19-rti]: https://img.shields.io/gem/rt/rubocop-ruby1_9.svg
|
@@ -284,6 +372,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
284
372
|
[🚎19-cwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/current.yml/badge.svg
|
285
373
|
[🖐19-hwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml
|
286
374
|
[🖐19-hwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/heads.yml/badge.svg
|
375
|
+
[🧮19-lwf]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/legacy.yml
|
376
|
+
[🧮19-lwfi]: https://github.com/rubocop-lts/rubocop-ruby1_9/actions/workflows/legacy.yml/badge.svg
|
287
377
|
[📗19-io]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues
|
288
378
|
[📗19-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby1_9
|
289
379
|
[🚀19-ic]: https://github.com/rubocop-lts/rubocop-ruby1_9/issues?q=is%3Aissue+is%3Aclosed
|
@@ -301,6 +391,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
301
391
|
[🚎20-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
|
302
392
|
[🖐20-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
|
303
393
|
[🖐20-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml/badge.svg
|
394
|
+
[🧮20-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml
|
395
|
+
[🧮20-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml/badge.svg
|
304
396
|
[📗20-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
|
305
397
|
[📗20-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
|
306
398
|
[🚀20-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
|
@@ -318,6 +410,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
318
410
|
[🚎21-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/current.yml/badge.svg
|
319
411
|
[🖐21-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml
|
320
412
|
[🖐21-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/heads.yml/badge.svg
|
413
|
+
[🧮21-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/legacy.yml
|
414
|
+
[🧮21-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_1/actions/workflows/legacy.yml/badge.svg
|
321
415
|
[📗21-io]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues
|
322
416
|
[📗21-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_1
|
323
417
|
[🚀21-ic]: https://github.com/rubocop-lts/rubocop-ruby2_1/issues?q=is%3Aissue+is%3Aclosed
|
@@ -335,6 +429,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
335
429
|
[🚎22-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
|
336
430
|
[🖐22-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
|
337
431
|
[🖐22-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml/badge.svg
|
432
|
+
[🧮22-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml
|
433
|
+
[🧮22-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml/badge.svg
|
338
434
|
[📗22-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
|
339
435
|
[📗22-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
|
340
436
|
[🚀22-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
|
@@ -352,6 +448,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
352
448
|
[🚎23-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/current.yml/badge.svg
|
353
449
|
[🖐23-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml
|
354
450
|
[🖐23-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/heads.yml/badge.svg
|
451
|
+
[🧮23-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/legacy.yml
|
452
|
+
[🧮23-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_3/actions/workflows/legacy.yml/badge.svg
|
355
453
|
[📗23-io]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues
|
356
454
|
[📗23-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_3
|
357
455
|
[🚀23-ic]: https://github.com/rubocop-lts/rubocop-ruby2_3/issues?q=is%3Aissue+is%3Aclosed
|
@@ -369,6 +467,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
369
467
|
[🚎24-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/current.yml/badge.svg
|
370
468
|
[🖐24-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml
|
371
469
|
[🖐24-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/heads.yml/badge.svg
|
470
|
+
[🧮24-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/legacy.yml
|
471
|
+
[🧮24-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_4/actions/workflows/legacy.yml/badge.svg
|
372
472
|
[📗24-io]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues
|
373
473
|
[📗24-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_4
|
374
474
|
[🚀24-ic]: https://github.com/rubocop-lts/rubocop-ruby2_4/issues?q=is%3Aissue+is%3Aclosed
|
@@ -386,6 +486,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
386
486
|
[🚎25-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/current.yml/badge.svg
|
387
487
|
[🖐25-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml
|
388
488
|
[🖐25-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/heads.yml/badge.svg
|
489
|
+
[🧮25-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/legacy.yml
|
490
|
+
[🧮25-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_5/actions/workflows/legacy.yml/badge.svg
|
389
491
|
[📗25-io]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues
|
390
492
|
[📗25-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_5
|
391
493
|
[🚀25-ic]: https://github.com/rubocop-lts/rubocop-ruby2_5/issues?q=is%3Aissue+is%3Aclosed
|
@@ -403,6 +505,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
403
505
|
[🚎26-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/current.yml/badge.svg
|
404
506
|
[🖐26-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml
|
405
507
|
[🖐26-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/heads.yml/badge.svg
|
508
|
+
[🧮26-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/legacy.yml
|
509
|
+
[🧮26-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_6/actions/workflows/legacy.yml/badge.svg
|
406
510
|
[📗26-io]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues
|
407
511
|
[📗26-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_6
|
408
512
|
[🚀26-ic]: https://github.com/rubocop-lts/rubocop-ruby2_6/issues?q=is%3Aissue+is%3Aclosed
|
@@ -420,6 +524,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
420
524
|
[🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
|
421
525
|
[🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
|
422
526
|
[🖐27-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml/badge.svg
|
527
|
+
[🧮27-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml
|
528
|
+
[🧮27-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml/badge.svg
|
423
529
|
[📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
|
424
530
|
[📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
|
425
531
|
[🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
|
@@ -437,6 +543,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
437
543
|
[🚎30-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/current.yml/badge.svg
|
438
544
|
[🖐30-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml
|
439
545
|
[🖐30-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/heads.yml/badge.svg
|
546
|
+
[🧮30-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/legacy.yml
|
547
|
+
[🧮30-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_0/actions/workflows/legacy.yml/badge.svg
|
440
548
|
[📗30-io]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues
|
441
549
|
[📗30-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_0
|
442
550
|
[🚀30-ic]: https://github.com/rubocop-lts/rubocop-ruby3_0/issues?q=is%3Aissue+is%3Aclosed
|
@@ -454,6 +562,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
454
562
|
[🚎31-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/current.yml/badge.svg
|
455
563
|
[🖐31-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml
|
456
564
|
[🖐31-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/heads.yml/badge.svg
|
565
|
+
[🧮31-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/legacy.yml
|
566
|
+
[🧮31-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_1/actions/workflows/legacy.yml/badge.svg
|
457
567
|
[📗31-io]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues
|
458
568
|
[📗31-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_1
|
459
569
|
[🚀31-ic]: https://github.com/rubocop-lts/rubocop-ruby3_1/issues?q=is%3Aissue+is%3Aclosed
|
@@ -471,6 +581,8 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
471
581
|
[🚎32-cwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/current.yml/badge.svg
|
472
582
|
[🖐32-hwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml
|
473
583
|
[🖐32-hwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/heads.yml/badge.svg
|
584
|
+
[🧮32-lwf]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/legacy.yml
|
585
|
+
[🧮32-lwfi]: https://github.com/rubocop-lts/rubocop-ruby3_2/actions/workflows/legacy.yml/badge.svg
|
474
586
|
[📗32-io]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues
|
475
587
|
[📗32-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby3_2
|
476
588
|
[🚀32-ic]: https://github.com/rubocop-lts/rubocop-ruby3_2/issues?q=is%3Aissue+is%3Aclosed
|
@@ -482,33 +594,60 @@ Add the following to `.github/dependabot.yml` if you use Github Actions.
|
|
482
594
|
[⛳️32-g]: https://rubygems.org/gems/rubocop-ruby3_2
|
483
595
|
[⛳️32-gh]: https://github.com/rubocop-lts/rubocop-ruby3_2
|
484
596
|
|
485
|
-
[aboutme]: https://about.me/peter.boling
|
486
|
-
[actions]: https://github.com/rubocop-lts/rubocop-lts/actions
|
487
|
-
[angelme]: https://angel.co/peter-boling
|
488
|
-
[blogpage]: http://www.railsbling.com/tags/rubocop-lts/
|
489
|
-
[codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-lts
|
490
|
-
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
|
491
|
-
[chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
492
|
-
[climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/test_coverage
|
493
|
-
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
|
494
597
|
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
495
|
-
|
496
|
-
[contributing]: https://gitlab.com/rubocop-lts/rubocop-lts/-/blob/main/CONTRIBUTING.md
|
497
|
-
[devto]: https://dev.to/galtzo
|
498
|
-
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
|
499
|
-
[followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
598
|
+
|
500
599
|
[gh_discussions]: https://github.com/rubocop-lts/rubocop-lts/discussions
|
501
|
-
|
502
|
-
[
|
503
|
-
|
504
|
-
[
|
600
|
+
|
601
|
+
[conduct]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md
|
602
|
+
|
603
|
+
[contributing]: https://github.com/rubocop-lts/rubocop-lts/blob/main/CONTRIBUTING.md
|
604
|
+
|
605
|
+
[security]: https://github.com/rubocop-lts/rubocop-lts/blob/main/SECURITY.md
|
606
|
+
|
607
|
+
[license]: https://github.com/rubocop-lts/rubocop-lts/blob/main/LICENSE.txt
|
608
|
+
|
505
609
|
[license-ref]: https://opensource.org/licenses/MIT
|
506
|
-
|
507
|
-
[
|
610
|
+
|
611
|
+
[semver]: http://semver.org/
|
612
|
+
|
508
613
|
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
614
|
+
|
509
615
|
[railsbling]: http://www.railsbling.com
|
510
|
-
|
511
|
-
[
|
512
|
-
|
513
|
-
[
|
616
|
+
|
617
|
+
[peterboling]: http://www.peterboling.com
|
618
|
+
|
619
|
+
[aboutme]: https://about.me/peter.boling
|
620
|
+
|
621
|
+
[angelme]: https://angel.co/peter-boling
|
622
|
+
|
623
|
+
[coderme]:http://coderwall.com/pboling
|
624
|
+
|
625
|
+
[followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
626
|
+
|
514
627
|
[tweetme]: http://twitter.com/galtzo
|
628
|
+
|
629
|
+
[politicme]: https://nationalprogressiveparty.org
|
630
|
+
|
631
|
+
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-lts/main
|
632
|
+
|
633
|
+
[source]: https://github.com/rubocop-lts/rubocop-lts/
|
634
|
+
|
635
|
+
[actions]: https://github.com/rubocop-lts/rubocop-lts/actions
|
636
|
+
|
637
|
+
[issues]: https://github.com/rubocop-lts/rubocop-lts/issues
|
638
|
+
|
639
|
+
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-lts/maintainability
|
640
|
+
|
641
|
+
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-lts
|
642
|
+
|
643
|
+
[blogpage]: http://www.railsbling.com/tags/rubocop-lts/
|
644
|
+
|
645
|
+
[rubygems]: https://rubygems.org/gems/rubocop-lts
|
646
|
+
|
647
|
+
[chat]: https://gitter.im/rubocop-lts/rubocop-lts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
648
|
+
|
649
|
+
[maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
|
650
|
+
|
651
|
+
[liberapay_donate]: https://liberapay.com/pboling/donate
|
652
|
+
|
653
|
+
[gh_sponsors]: https://github.com/sponsors/pboling
|