rubocop-lts 4.1.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
[]("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-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
|