rubocop-ruby2_7 1.1.3 → 2.0.2
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +64 -29
- data/CONTRIBUTING.md +9 -9
- data/LICENSE.txt +1 -1
- data/README.md +171 -119
- data/SECURITY.md +2 -1
- data/lib/rubocop/ruby2_7/railtie.rb +14 -0
- data/lib/rubocop/ruby2_7/version.rb +3 -1
- data/lib/rubocop/ruby2_7.rb +14 -0
- data/rubocop-lts/rails.yml +11 -0
- data/rubocop-lts/rails_rspec.yml +6 -0
- data/rubocop-lts/rspec.yml +9 -0
- data/rubocop-lts/ruby.yml +43 -0
- data/rubocop-lts/ruby_rspec.yml +6 -0
- data/rubocop-lts/rubygem.yml +6 -0
- data/rubocop-lts/rubygem_rspec.yml +4 -0
- data/rubocop-lts/strict/rails.yml +22 -0
- data/rubocop-lts/strict/rspec.yml +14 -0
- data/rubocop-lts/strict/ruby.yml +14 -0
- data/rubocop.yml +15 -3
- data/sig/rubocop/ruby2_7.rbs +4 -2
- data.tar.gz.sig +0 -0
- metadata +145 -24
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 981b0596dbf56a8e97a0dc5a04cffa236eaf4edc5cfa033bc441d8df1daff6e1
|
|
4
|
+
data.tar.gz: 8db3cf87d879c278c3a6f0869b0d652154901a4f0c2fa896b2e025d4e132d816
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0a34c593bcfab1bd03426fe3527cdbb6c76b3ea0d99b616d92c498b688f703f1d236d0b84902b0a2ea1d89a7df5d02c8fea3992f5d20596c4acf6702319153b6
|
|
7
|
+
data.tar.gz: c17ba97b1d314a2c5fb58a84835cce0075cc7827783feda8d36a959198a1a13f84c68172b4e59d6b4486abe424d752191c38517605303a143731ba110c0c7b93
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -10,72 +10,107 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
10
10
|
### Fixed
|
|
11
11
|
### Removed
|
|
12
12
|
|
|
13
|
+
## [2.0.2] 2023-05-19
|
|
14
|
+
### Fixed
|
|
15
|
+
- Ship rakelib/**/*.rake tasks
|
|
16
|
+
- Fix rake_tasks hook on Railtie
|
|
17
|
+
|
|
18
|
+
## [2.0.1] 2023-05-17 [YANKED]
|
|
19
|
+
### Added
|
|
20
|
+
- Configs added for:
|
|
21
|
+
- standard-performance
|
|
22
|
+
- standard-custom
|
|
23
|
+
- standard-rubocop-lts
|
|
24
|
+
- And optionally, if you are building a Rails app:
|
|
25
|
+
- betterlint
|
|
26
|
+
- standard-rails
|
|
27
|
+
- version_gem
|
|
28
|
+
|
|
29
|
+
## [2.0.0] 2023-05-09 [YANKED]
|
|
30
|
+
### Changed
|
|
31
|
+
- New/Better configs for:
|
|
32
|
+
- rubocop
|
|
33
|
+
- rubocop-gradual
|
|
34
|
+
- rubocop-md
|
|
35
|
+
- rubocop-performance
|
|
36
|
+
- rubocop-rake
|
|
37
|
+
- rubocop-shopify
|
|
38
|
+
- rubocop-thread_safety
|
|
39
|
+
- standard
|
|
40
|
+
- And optionally, if you are using RSpec:
|
|
41
|
+
- rubocop-rspec
|
|
42
|
+
- And optionally, if you are using building a RubyGem:
|
|
43
|
+
- rubocop-packaging
|
|
44
|
+
### Removed
|
|
45
|
+
- Support for Ruby <= 2.6. Minimum Ruby Version is now 2.7
|
|
46
|
+
|
|
13
47
|
## [1.1.3] 2023-03-14
|
|
14
48
|
### Added
|
|
15
|
-
|
|
49
|
+
- GitLab CI config
|
|
16
50
|
### Changed
|
|
17
|
-
|
|
51
|
+
- Upgraded to RuboCop v1.48.1
|
|
18
52
|
|
|
19
53
|
## [1.1.2] 2023-02-01
|
|
20
54
|
### Fixed
|
|
21
|
-
|
|
55
|
+
- Stop defining global variable in version.rb
|
|
22
56
|
### Changed
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
57
|
+
- Upgraded to RuboCop v1.44.1
|
|
58
|
+
- Compatible with rubocop-packaging ~> 0.5.2
|
|
59
|
+
- Improved development documentation
|
|
60
|
+
- Improved documentation on SemVer adherence
|
|
27
61
|
|
|
28
62
|
## [1.1.1] 2022-12-20
|
|
29
63
|
### Fixed
|
|
30
|
-
|
|
31
|
-
* `rubocop-ruby2_7` (this gem) will install a version of `rubocop` which will
|
|
32
|
-
**install** on (1), **run** on (2), and **analyze code** (3) intended to support any version of Ruby >= 2.7.
|
|
64
|
+
- Documentation
|
|
33
65
|
### Changed
|
|
34
|
-
|
|
66
|
+
- Minimum code coverage == 100%
|
|
35
67
|
|
|
36
68
|
## [1.1.0] 2022-12-19
|
|
37
69
|
### Added
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
70
|
+
- More Linting Rules
|
|
71
|
+
- Improved Rakefile for YARD docs
|
|
72
|
+
- Improved Documentation related to Three Guarantees
|
|
73
|
+
- Updated Ruby Version Support in Readme
|
|
74
|
+
- Improved documentation
|
|
43
75
|
### Changed
|
|
44
|
-
|
|
76
|
+
- Rubocop => RuboCop typo repair in documentation
|
|
45
77
|
|
|
46
78
|
## [1.0.6] 2022-06-08
|
|
47
79
|
### Changed
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
80
|
+
- Update to rubocop 1.30.1
|
|
81
|
+
- Removed test_files from gemspec
|
|
82
|
+
- Add binstubs for bundle, rake, rspec, and rubocop
|
|
51
83
|
|
|
52
84
|
## [1.0.5] 2022-06-05
|
|
53
85
|
### Changed
|
|
54
|
-
|
|
86
|
+
- Update to rubocop 1.30.0
|
|
55
87
|
|
|
56
88
|
## [1.0.4] 2022-05-23
|
|
57
89
|
### Changed
|
|
58
|
-
|
|
90
|
+
- Update to rubocop 1.29.1
|
|
59
91
|
|
|
60
92
|
## [1.0.3] 2022-05-23
|
|
61
93
|
### Added
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
94
|
+
- Rubocop => RuboCop typo repair
|
|
95
|
+
- Ruby Version Support Matrix
|
|
96
|
+
- Improved documentation
|
|
65
97
|
|
|
66
98
|
## [1.0.2] 2022-05-03
|
|
67
99
|
### Fixed
|
|
68
|
-
|
|
100
|
+
- Added missing rubocop.yml for inherit_gem directive
|
|
69
101
|
|
|
70
102
|
## [1.0.1] 2022-05-02
|
|
71
103
|
### Added
|
|
72
|
-
|
|
104
|
+
- Documentation
|
|
73
105
|
|
|
74
106
|
## [1.0.0] 2022-05-01
|
|
75
107
|
### Added
|
|
76
|
-
|
|
108
|
+
- Initial release
|
|
77
109
|
|
|
78
|
-
[Unreleased]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/
|
|
110
|
+
[Unreleased]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.1...HEAD
|
|
111
|
+
[2.0.1]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.0...v2.0.1
|
|
112
|
+
[2.0.0]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.3...v2.0.0
|
|
113
|
+
[1.1.3]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.2...v1.1.3
|
|
79
114
|
[1.1.2]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.1...v1.1.2
|
|
80
115
|
[1.1.1]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.0...v1.1.1
|
|
81
116
|
[1.1.0]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.0.6...v1.1.0
|
data/CONTRIBUTING.md
CHANGED
|
@@ -13,12 +13,13 @@ To release a new version:
|
|
|
13
13
|
|
|
14
14
|
1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check.
|
|
15
15
|
2. update the version number in `version.rb`
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
18
|
-
5.
|
|
19
|
-
6.
|
|
20
|
-
7.
|
|
21
|
-
8.
|
|
16
|
+
3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`.
|
|
17
|
+
4. run `bundle exec rake build:checksum`
|
|
18
|
+
5. move the built gem to project root
|
|
19
|
+
6. run `bin/checksum` to create the missing SHA256 checksum
|
|
20
|
+
7. move the built gem back to `pkg/`
|
|
21
|
+
8. commit the changes
|
|
22
|
+
9. run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org][rubygems].
|
|
22
23
|
|
|
23
24
|
NOTE: You will need to have a public key in `certs/`, and list your cert in the
|
|
24
25
|
`gemspec`, in order to sign the new release.
|
|
@@ -26,13 +27,12 @@ See: [RubyGems Security Guide][rubygems-security-guide]
|
|
|
26
27
|
|
|
27
28
|
## Contributors
|
|
28
29
|
|
|
29
|
-
[
|
|
30
|
+
See: [https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/graphs/main][🖐contributors]
|
|
30
31
|
|
|
31
32
|
[comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
|
|
32
33
|
|
|
33
|
-
[conduct]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/blob/main/CODE_OF_CONDUCT.md
|
|
34
|
+
[🤝conduct]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/blob/main/CODE_OF_CONDUCT.md
|
|
34
35
|
[🖐contributors]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/graphs/main
|
|
35
|
-
[🖐contributors-img]: https://img.shields.io/github/contributors-anon/rubocop-lts/rubocop-ruby2_7
|
|
36
36
|
[🚎src-main]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/tree/main
|
|
37
37
|
[🏘chat]: https://gitter.im/rubocop-lts/community
|
|
38
38
|
[rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
|
data/LICENSE.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2022 Peter Boling
|
|
3
|
+
Copyright (c) 2022 - 2023 Peter H. Boling of https://railsbling.com
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
NOTE: You might be interested in [`rubocop-lts`]
|
|
21
|
+
NOTE: You might be interested in [`rubocop-lts`][rlts] which sits as a higher level than this gem, and can keep pace with whatever version of Ruby you happen to be on.
|
|
22
22
|
|
|
23
|
-
| Gem Name
|
|
24
|
-
|
|
25
|
-
| [`rubocop-lts`][⛳️lts-gh]
|
|
26
|
-
| [`rubocop-ruby2_7`][⛳️
|
|
23
|
+
| Gem Name | Version | Downloads | CI | Activity |
|
|
24
|
+
|-------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
25
|
+
| [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
|
|
26
|
+
| [`rubocop-ruby2_7`][⛳️ini-gh] | [![Gem Version][⛳️ini-vi]][⛳️ini-g] | [![Total DL][🖇️ini-dti]][⛳️ini-g] [![DL Rank][🏘️ini-rti]][⛳️ini-g] | [![Current][🚎ini-cwfi]][🚎ini-cwf] [![Heads][🖐ini-hwfi]][🖐ini-hwf] | [![Open Issues][📗ini-ioi]][📗ini-io] [![Closed Issues][🚀ini-ici]][🚀ini-ic] [![Open PRs][💄ini-poi]][💄ini-po] [![Closed PRs][👽ini-pci]][👽ini-pc] |
|
|
27
27
|
|
|
28
28
|
<!-- columnar badge #s for Project Health table:
|
|
29
29
|
⛳️
|
|
@@ -58,31 +58,55 @@ NOTE: You might be interested in [`rubocop-lts`](https://github.com/rubocop-lts/
|
|
|
58
58
|
[⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
|
|
59
59
|
[⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
|
|
60
60
|
|
|
61
|
-
[⛳️
|
|
62
|
-
[🖇️
|
|
63
|
-
[🏘️
|
|
64
|
-
[🚎
|
|
65
|
-
[🚎
|
|
66
|
-
[🖐
|
|
67
|
-
[🖐
|
|
68
|
-
[🧮
|
|
69
|
-
[🧮
|
|
70
|
-
[📗
|
|
71
|
-
[📗
|
|
72
|
-
[🚀
|
|
73
|
-
[🚀
|
|
74
|
-
[💄
|
|
75
|
-
[💄
|
|
76
|
-
[👽
|
|
77
|
-
[👽
|
|
78
|
-
[⛳️
|
|
79
|
-
[⛳️
|
|
80
|
-
|
|
81
|
-
# Rubocop::Ruby27
|
|
61
|
+
[⛳️ini-vi]: http://img.shields.io/gem/v/rubocop-ruby2_7.svg
|
|
62
|
+
[🖇️ini-dti]: https://img.shields.io/gem/dt/rubocop-ruby2_7.svg
|
|
63
|
+
[🏘️ini-rti]: https://img.shields.io/gem/rt/rubocop-ruby2_7.svg
|
|
64
|
+
[🚎ini-cwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml
|
|
65
|
+
[🚎ini-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
|
|
66
|
+
[🖐ini-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
|
|
67
|
+
[🖐ini-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml/badge.svg
|
|
68
|
+
[🧮ini-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml
|
|
69
|
+
[🧮ini-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml/badge.svg
|
|
70
|
+
[📗ini-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
|
|
71
|
+
[📗ini-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
|
|
72
|
+
[🚀ini-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
|
|
73
|
+
[🚀ini-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby2_7
|
|
74
|
+
[💄ini-po]: https://github.com/rubocop-lts/rubocop-ruby2_7/pulls
|
|
75
|
+
[💄ini-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby2_7
|
|
76
|
+
[👽ini-pc]: https://github.com/rubocop-lts/rubocop-ruby2_7/pulls?q=is%3Apr+is%3Aclosed
|
|
77
|
+
[👽ini-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby2_7
|
|
78
|
+
[⛳️ini-g]: https://rubygems.org/gems/rubocop-ruby2_7
|
|
79
|
+
[⛳️ini-gh]: https://github.com/rubocop-lts/rubocop-ruby2_7
|
|
80
|
+
|
|
81
|
+
# 🦾 Rubocop::Ruby27
|
|
82
82
|
|
|
83
83
|
See the intro [blog post](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj)!
|
|
84
84
|
|
|
85
|
-
This gem
|
|
85
|
+
This gem configures many gems for you:
|
|
86
|
+
|
|
87
|
+
- rubocop
|
|
88
|
+
- rubocop-gradual
|
|
89
|
+
- rubocop-md
|
|
90
|
+
- rubocop-rake
|
|
91
|
+
- rubocop-shopify
|
|
92
|
+
- rubocop-thread_safety
|
|
93
|
+
- standard
|
|
94
|
+
- standard-performance (incl. rubocop-performance)
|
|
95
|
+
- standard-custom
|
|
96
|
+
- standard-rubocop-lts (ruby version-specific rules)
|
|
97
|
+
|
|
98
|
+
And optionally, if you are using RSpec:
|
|
99
|
+
|
|
100
|
+
- rubocop-rspec
|
|
101
|
+
|
|
102
|
+
And optionally, if you are building a RubyGem:
|
|
103
|
+
|
|
104
|
+
- rubocop-packaging
|
|
105
|
+
|
|
106
|
+
And optionally, if you are building a Rails app:
|
|
107
|
+
|
|
108
|
+
- standard-rails (incl. rubocop-rails)
|
|
109
|
+
- betterlint
|
|
86
110
|
|
|
87
111
|
Awareness of `rubocop`'s lack of [SemVer][semver] adherence isn't evenly dispersed in the Ruby community.
|
|
88
112
|
|
|
@@ -93,8 +117,6 @@ NOTE: They think they are following SemVer,
|
|
|
93
117
|
but their interpretation differs from mine, and seems to differ from the
|
|
94
118
|
[intent of SemVer's creator][major-versions-not-sacred].
|
|
95
119
|
|
|
96
|
-
If you need to run `rubocop` from command line in an older version of Ruby, you've come to the right place.
|
|
97
|
-
|
|
98
120
|
<p align="left">
|
|
99
121
|
<a href="https://metaredux.com/posts/2022/04/21/rubocop-turns-10.html" target="_blank" rel="noopener">
|
|
100
122
|
<img width="360px" src="https://github.com/rubocop-lts/rubocop-ruby2_7/raw/main/docs/images/rubocop-not-semver.png?raw=true" alt="Explanation of non-SemVer compliance, @bbatsov">
|
|
@@ -104,45 +126,56 @@ If you need to run `rubocop` from command line in an older version of Ruby, you'
|
|
|
104
126
|
The purpose of this gem is to constrain the `rubocop` dependency of a project in
|
|
105
127
|
a [SemVer compliant][semver]
|
|
106
128
|
(Semantic Versioning, [Major Versions are Not Sacred][major-versions-not-sacred])
|
|
107
|
-
way that aligns with
|
|
129
|
+
way that aligns with its desired minimum compatible/supported Ruby version.
|
|
130
|
+
Secondary purpose is to provide default configurations for a bevy of RuboCop-related plugins.
|
|
108
131
|
|
|
109
|
-
## Ruby Version Support
|
|
132
|
+
## 💎 Ruby Version Support
|
|
110
133
|
|
|
111
|
-
|
|
112
|
-
minimizing the risk of a rubocop minor / patch upgrade breaking the build.
|
|
113
|
-
official [compatibility matrix][rubocop-support-matrix] for `rubocop`.
|
|
134
|
+
This gem facilitates equivalent of adding a `~> ` version constrained `rubocop`(-ish +more) dependency,
|
|
135
|
+
thus minimizing the risk of a rubocop minor / patch upgrade breaking the build.
|
|
114
136
|
|
|
115
|
-
###
|
|
137
|
+
### What's that you say?
|
|
116
138
|
|
|
117
|
-
This gem will install a version of
|
|
118
|
-
|
|
139
|
+
This gem will install a suite of tools that will **analyze & lint code** intended to support any version of Ruby >= 2.0.
|
|
140
|
+
|
|
141
|
+
This gem helps insulate projects from RuboCop churn by enshrining many conventions
|
|
142
|
+
that have been shown over years to reduce problems.
|
|
143
|
+
|
|
144
|
+
#### Background
|
|
119
145
|
|
|
120
|
-
Any change to any of those three abilities would require a major version bump.
|
|
121
146
|
Each [spring `rubocop` drops][rubocop-support-matrix] the ability to **install** and **run** `rubocop` on an EOL'd Ruby.
|
|
122
147
|
Eventually `rubocop` will drop the ability to **analyze code** intended to support an EOL'd Ruby,
|
|
123
|
-
as they already have for Ruby 1.
|
|
148
|
+
as they already have for Ruby 1.9. RuboCop has never run properly on Ruby 1.8.
|
|
149
|
+
This gem, via [standard (Standard Ruby)][standardrb], allows RuboCop to analyze Ruby 2.7 code,
|
|
150
|
+
by turning off certain rules that only apply to later Rubies.
|
|
151
|
+
|
|
124
152
|
When the `rubocop` team makes _any_ of these changes they
|
|
125
153
|
[only bump the minor version][rubocop-versioning] of RuboCop,
|
|
126
154
|
in violation of SemVer ([they disagree][rubocop-release-policy]).
|
|
155
|
+
|
|
127
156
|
In other words, RuboCop intentionally does not bump the major version when they drop
|
|
128
157
|
_analysis_, _runtime_, or _installation_ support for a given version of Ruby.
|
|
158
|
+
|
|
129
159
|
This is a primary _raison d’être_ for this project.
|
|
130
160
|
To get a better understanding of how SemVer is intended to work read this article from the creator of SemVer:
|
|
131
161
|
|
|
132
|
-
- ["Major Version Numbers are Not Sacred"][major-versions-not-sacred]
|
|
162
|
+
- ["Major Version Numbers are Not Sacred"][major-versions-not-sacred]!
|
|
133
163
|
|
|
134
164
|
[rubocop-support-matrix]: https://docs.rubocop.org/rubocop/compatibility.html#support-matrix
|
|
135
165
|
[rubocop-versioning]: https://docs.rubocop.org/rubocop/versioning.html
|
|
136
166
|
[rubocop-release-policy]: https://docs.rubocop.org/rubocop/versioning.html#release-policy
|
|
137
167
|
[major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
168
|
+
[standardrb]: https://github.com/standardrb/standard
|
|
138
169
|
|
|
139
|
-
### A Gem Family
|
|
170
|
+
### 👪 A Gem Family
|
|
140
171
|
|
|
141
|
-
The `rubocop-lts`
|
|
172
|
+
The `rubocop-lts` family of gems has a version supporting any version of Ruby you need.
|
|
142
173
|
They can be used as development dependencies for libraries or applications.
|
|
143
174
|
|
|
175
|
+
- [`rubocop-lts`][rlts]
|
|
176
|
+
- [`standard-rubocop-lts`][stdrlts]
|
|
177
|
+
- [`rubocop-ruby1_8`][rr18]
|
|
144
178
|
- [`rubocop-ruby1_9`][rr19]
|
|
145
|
-
- [Still supporting Ruby 1.8?][what1_8]
|
|
146
179
|
- [`rubocop-ruby2_0`][rr20]
|
|
147
180
|
- [`rubocop-ruby2_1`][rr21]
|
|
148
181
|
- [`rubocop-ruby2_2`][rr22]
|
|
@@ -153,7 +186,11 @@ They can be used as development dependencies for libraries or applications.
|
|
|
153
186
|
- [`rubocop-ruby2_7`][rr27]
|
|
154
187
|
- [`rubocop-ruby3_0`][rr30]
|
|
155
188
|
- [`rubocop-ruby3_1`][rr31]
|
|
189
|
+
- [`rubocop-ruby3_2`][rr32]
|
|
156
190
|
|
|
191
|
+
[rlts]: https://github.com/rubocop-lts/rubocop-lts#-how-to-untie-gorgons-knot
|
|
192
|
+
[stdrlts]: https://github.com/rubocop-lts/standard-rubocop-lts
|
|
193
|
+
[rr18]: https://gitlab.com/rubocop-lts/standard-rubocop-lts
|
|
157
194
|
[rr19]: https://gitlab.com/rubocop-lts/rubocop-ruby1_9
|
|
158
195
|
[rr20]: https://gitlab.com/rubocop-lts/rubocop-ruby2_0
|
|
159
196
|
[rr21]: https://gitlab.com/rubocop-lts/rubocop-ruby2_1
|
|
@@ -165,12 +202,13 @@ They can be used as development dependencies for libraries or applications.
|
|
|
165
202
|
[rr27]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7
|
|
166
203
|
[rr30]: https://gitlab.com/rubocop-lts/rubocop-ruby3_0
|
|
167
204
|
[rr31]: https://gitlab.com/rubocop-lts/rubocop-ruby3_1
|
|
168
|
-
[
|
|
205
|
+
[rr32]: https://gitlab.com/rubocop-lts/rubocop-ruby3_2
|
|
169
206
|
|
|
170
207
|
## 🗿 Stable
|
|
171
208
|
|
|
172
209
|
All releases of this gem are stable releases.
|
|
173
|
-
We do not release new versions for every release of `rubocop
|
|
210
|
+
We do not release new versions for every release of `rubocop`,
|
|
211
|
+
as this gem is tied to [standard (Standard Ruby)][standardrb].
|
|
174
212
|
A typical release cycle for a gem in the `rubocop-lts` family is roughly every six months,
|
|
175
213
|
though eventually analysis support for an old version of Ruby will be dropped.
|
|
176
214
|
When that happens releases of the `rubocop-lts` gem for that version of Ruby will (mostly) cease.
|
|
@@ -185,46 +223,89 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
|
185
223
|
|
|
186
224
|
$ gem install rubocop-ruby2_7
|
|
187
225
|
|
|
188
|
-
## 🔧 Usage
|
|
189
|
-
|
|
190
|
-
The following is optional. We'll discuss why you might want to do this after you see what it does.
|
|
226
|
+
## 🔧 Basic Usage
|
|
191
227
|
|
|
192
|
-
|
|
228
|
+
If you are using Rails, building a Rubygem, or not using RSpec, see ["Advanced Usage"](#advanced-usage).
|
|
229
|
+
Otherwise, if you using this in plain Ruby _and_ RSpec, you can add to the top of your project's `.rubocop.yml` configuration file:
|
|
193
230
|
|
|
194
231
|
```yaml
|
|
195
232
|
inherit_gem:
|
|
196
233
|
rubocop-ruby2_7: rubocop.yml
|
|
197
234
|
```
|
|
198
235
|
|
|
199
|
-
|
|
236
|
+
Among _many_ other settings, this has the effect of declaring the following:
|
|
200
237
|
|
|
201
238
|
```yaml
|
|
202
239
|
AllCops:
|
|
203
|
-
# remove if already present in your `.rubocop.yml` to gain the full benefit of this gem!
|
|
204
|
-
TargetRubyVersion: 2.7
|
|
205
240
|
NewCops: enable
|
|
206
241
|
```
|
|
207
242
|
|
|
208
|
-
Let's talk about these settings.
|
|
243
|
+
Let's talk about these settings. (TODO: Document some of the other settings!)
|
|
209
244
|
|
|
210
|
-
###
|
|
245
|
+
### ⚙️ `NewCops: enable`
|
|
211
246
|
|
|
212
|
-
|
|
247
|
+
Upgrades to the latest RuboCop can include all kinds of changes, including removing support for the version of Ruby your project uses, or adding a cop that may not work with some of your syntax (e.g. [some use cases of 'module_function`](https://github.com/rubocop/rubocop/issues/5953#issuecomment-805921993)). Accepting new cops arriving in a new version of RuboCop can feel risky, especially when it doesn't follow SemVer.
|
|
213
248
|
|
|
214
|
-
|
|
249
|
+
But this gem shoehorns RuboCop into SemVer, under the watchful eye of [standard (Standard Ruby)][standardrb]... so `NewCops` is now safe(r)! If you use a dependency greening tool like GitHub's `dependabot`, or the excellent alternatives [depfu](https://depfu.com/), and [`renovate`](https://www.whitesourcesoftware.com/free-developer-tools/renovate/), then you can see the effect of a minor / major version bump in your CI Build!
|
|
215
250
|
|
|
216
|
-
|
|
251
|
+
## Advanced Usage
|
|
217
252
|
|
|
218
|
-
|
|
253
|
+
### Linting Ruby + RSpec
|
|
219
254
|
|
|
220
|
-
|
|
255
|
+
```yaml
|
|
256
|
+
inherit_gem:
|
|
257
|
+
rubocop-ruby2_7: rubocop-lts/ruby_rspec.yml
|
|
258
|
+
# Note: technically the above is the same as the "Basic Usage" below, so if specificity is not your jam:
|
|
259
|
+
# rubocop-ruby2_7: rubocop.yml
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Linting Ruby w/o RSpec
|
|
263
|
+
|
|
264
|
+
```yaml
|
|
265
|
+
inherit_gem:
|
|
266
|
+
rubocop-ruby2_7: rubocop-lts/ruby.yml
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Linting Rails + RSpec
|
|
270
|
+
|
|
271
|
+
```yaml
|
|
272
|
+
inherit_gem:
|
|
273
|
+
rubocop-ruby2_7: rubocop-lts/rails_rspec.yml
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
#### Linting Rails w/o RSpec
|
|
277
|
+
|
|
278
|
+
```yaml
|
|
279
|
+
inherit_gem:
|
|
280
|
+
rubocop-ruby2_7: rubocop-lts/rails.yml
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
#### Linting a RubyGem + RSpec
|
|
284
|
+
|
|
285
|
+
```yaml
|
|
286
|
+
inherit_gem:
|
|
287
|
+
rubocop-ruby2_7: rubocop-lts/rubygem_rspec.yml
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
#### Linting a RubyGem w/o RSpec
|
|
291
|
+
|
|
292
|
+
```yaml
|
|
293
|
+
inherit_gem:
|
|
294
|
+
rubocop-ruby2_7: rubocop-lts/rubygem.yml
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## 💻 Development
|
|
221
298
|
|
|
222
299
|
After checking out the repo, run `bin/setup` to install dependencies.
|
|
223
300
|
Then, run `rake spec` to run the tests w/ coverage,
|
|
224
301
|
or `bin/rake` to run tests w/ coverage, and linting.
|
|
225
302
|
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
226
303
|
|
|
227
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
304
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
305
|
+
|
|
306
|
+
### 🚀 Release Instructions
|
|
307
|
+
|
|
308
|
+
See [CONTRIBUTING.md][contributing].
|
|
228
309
|
|
|
229
310
|
## ⚡️ Contributing
|
|
230
311
|
|
|
@@ -239,8 +320,8 @@ Made with [contributors-img](https://contrib.rocks).
|
|
|
239
320
|
## 📄 License
|
|
240
321
|
|
|
241
322
|
The gem is available as open source under the terms of
|
|
242
|
-
the [MIT License][license] [![License: MIT]
|
|
243
|
-
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
|
323
|
+
the [MIT License][license] [![License: MIT][license-img]][license-ref].
|
|
324
|
+
See [LICENSE.txt][license] for the official [Copyright Notice][copyright-notice-explainer].
|
|
244
325
|
|
|
245
326
|
<details>
|
|
246
327
|
<summary>Project Logos (rubocop-ruby2_7)</summary>
|
|
@@ -249,7 +330,7 @@ See [docs/images/logo/README.txt][project-logos]
|
|
|
249
330
|
</details>
|
|
250
331
|
|
|
251
332
|
<details>
|
|
252
|
-
<summary>Organization Logo (rubocop-
|
|
333
|
+
<summary>Organization Logo (rubocop-lts)</summary>
|
|
253
334
|
|
|
254
335
|
Author: [Yusuf Evli][org-logo-author]
|
|
255
336
|
Source: [Unsplash][org-logo-source]
|
|
@@ -265,11 +346,11 @@ License: [Unsplash License][org-logo-license]
|
|
|
265
346
|
|
|
266
347
|
* Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
|
267
348
|
|
|
268
|
-
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
269
|
-
|
|
270
349
|
## 🤝 Code of Conduct
|
|
271
350
|
|
|
272
|
-
Everyone interacting in
|
|
351
|
+
Everyone interacting in this project's codebases, issue trackers, [chat rooms][🏘chat] and mailing lists is expected to follow the [code of conduct][🤝conduct].
|
|
352
|
+
|
|
353
|
+
[🤝conduct]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7/-/blob/main/CODE_OF_CONDUCT.md
|
|
273
354
|
|
|
274
355
|
## 📌 Versioning
|
|
275
356
|
|
|
@@ -284,65 +365,36 @@ the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
|
|
284
365
|
For example:
|
|
285
366
|
|
|
286
367
|
```ruby
|
|
287
|
-
spec.add_dependency "rubocop-ruby2_7", "~>
|
|
368
|
+
spec.add_dependency "rubocop-ruby2_7", "~> 2.0"
|
|
288
369
|
```
|
|
289
370
|
|
|
371
|
+
[aboutme]: https://about.me/peter.boling
|
|
372
|
+
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions
|
|
373
|
+
[angelme]: https://angel.co/peter-boling
|
|
374
|
+
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_7/
|
|
375
|
+
[codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-ruby2_7
|
|
376
|
+
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_7
|
|
377
|
+
[🏘chat]: https://gitter.im/rubocop-lts/community
|
|
378
|
+
[climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_7/test_coverage
|
|
379
|
+
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_7/maintainability
|
|
290
380
|
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
291
|
-
|
|
292
|
-
[gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby2_7/discussions
|
|
293
|
-
|
|
294
381
|
[conduct]: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/CODE_OF_CONDUCT.md
|
|
295
|
-
|
|
296
382
|
[contributing]: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/CONTRIBUTING.md
|
|
297
|
-
|
|
298
|
-
[
|
|
299
|
-
|
|
300
|
-
[
|
|
301
|
-
|
|
383
|
+
[devto]: https://dev.to/galtzo
|
|
384
|
+
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_7/main
|
|
385
|
+
[followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
|
386
|
+
[gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby2_7/discussions
|
|
387
|
+
[gh_sponsors]: https://github.com/sponsors/pboling
|
|
388
|
+
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
|
|
389
|
+
[liberapay_donate]: https://liberapay.com/pboling/donate
|
|
390
|
+
[license]: LICENSE.txt
|
|
302
391
|
[license-ref]: https://opensource.org/licenses/MIT
|
|
303
|
-
|
|
304
|
-
[
|
|
305
|
-
|
|
392
|
+
[license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
|
393
|
+
[peterboling]: http://www.peterboling.com
|
|
306
394
|
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
|
307
|
-
|
|
308
395
|
[railsbling]: http://www.railsbling.com
|
|
309
|
-
|
|
310
|
-
[peterboling]: http://www.peterboling.com
|
|
311
|
-
|
|
312
|
-
[aboutme]: https://about.me/peter.boling
|
|
313
|
-
|
|
314
|
-
[angelme]: https://angel.co/peter-boling
|
|
315
|
-
|
|
316
|
-
[coderme]:http://coderwall.com/pboling
|
|
317
|
-
|
|
318
|
-
[followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
|
319
|
-
|
|
320
|
-
[tweetme]: http://twitter.com/galtzo
|
|
321
|
-
|
|
322
|
-
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_7/main
|
|
323
|
-
|
|
324
|
-
[source]: https://github.com/rubocop-lts/rubocop-ruby2_7/
|
|
325
|
-
|
|
326
|
-
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions
|
|
327
|
-
|
|
328
|
-
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
|
|
329
|
-
|
|
330
|
-
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_7/maintainability
|
|
331
|
-
|
|
332
|
-
[climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_7/test_coverage
|
|
333
|
-
|
|
334
|
-
[codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-ruby2_7
|
|
335
|
-
|
|
336
|
-
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_7
|
|
337
|
-
|
|
338
|
-
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_7/
|
|
339
|
-
|
|
340
396
|
[rubygems]: https://rubygems.org/gems/rubocop-ruby2_7
|
|
341
|
-
|
|
342
|
-
[
|
|
343
|
-
|
|
344
|
-
[
|
|
345
|
-
|
|
346
|
-
[liberapay_donate]: https://liberapay.com/pboling/donate
|
|
347
|
-
|
|
348
|
-
[gh_sponsors]: https://github.com/sponsors/pboling
|
|
397
|
+
[security]: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/SECURITY.md
|
|
398
|
+
[semver]: http://semver.org/
|
|
399
|
+
[source]: https://github.com/rubocop-lts/rubocop-ruby2_7/
|
|
400
|
+
[tweetme]: http://twitter.com/galtzo
|
data/SECURITY.md
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Rubocop
|
|
2
|
+
module Ruby27
|
|
3
|
+
class Railtie < Rails::Railtie
|
|
4
|
+
railtie_name :rubocop_ruby2_7
|
|
5
|
+
|
|
6
|
+
if Rails.env.test? || Rails.env.development?
|
|
7
|
+
rake_tasks do
|
|
8
|
+
path = File.expand_path(__dir__)
|
|
9
|
+
Dir.glob("#{path}/rakelib/**/*.rake").each { |f| load f }
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/rubocop/ruby2_7.rb
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# external libs
|
|
4
|
+
require "version_gem"
|
|
5
|
+
|
|
6
|
+
# this gem
|
|
3
7
|
require_relative "ruby2_7/version"
|
|
8
|
+
# :nocov:
|
|
9
|
+
require_relative "ruby2_7/railtie" if defined?(Rails::Railtie)
|
|
10
|
+
# :nocov:
|
|
4
11
|
|
|
5
12
|
module Rubocop
|
|
6
13
|
# Namespace of this library
|
|
7
14
|
module Ruby27
|
|
15
|
+
module_function def install_tasks
|
|
16
|
+
load "rubocop/ruby2_7/tasks.rake"
|
|
17
|
+
end
|
|
8
18
|
end
|
|
9
19
|
end
|
|
20
|
+
|
|
21
|
+
Rubocop::Ruby27::Version.class_eval do
|
|
22
|
+
extend VersionGem::Basic
|
|
23
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Customizations/Deviations from Standard/Shopify for Ruby Coding Standards
|
|
2
|
+
|
|
3
|
+
# We want Exclude directives from different
|
|
4
|
+
# config files to get merged, not overwritten
|
|
5
|
+
inherit_mode:
|
|
6
|
+
merge:
|
|
7
|
+
- Exclude
|
|
8
|
+
|
|
9
|
+
require:
|
|
10
|
+
# Loads the Standard Ruby suite of gems, and configures for rubocop-lts:
|
|
11
|
+
- standard-rubocop-lts
|
|
12
|
+
# The goal here is convention over configuration...
|
|
13
|
+
# In light of that, we are well past having convened on Markdown for README docs and such.
|
|
14
|
+
- rubocop-md
|
|
15
|
+
# Rubygems have Rakefile as a convention, and if they don't, why not?
|
|
16
|
+
- rubocop-rake
|
|
17
|
+
# In the vast majority of cases, we will want to be warned about thread unsafe code.
|
|
18
|
+
# In those cases where we intentionally have thread unsafe code,
|
|
19
|
+
# a rubocop:disable is the least of our concerns. :D
|
|
20
|
+
- rubocop-thread_safety
|
|
21
|
+
# RuboCop Gradual can be used in "Require mode", which is a way to replace rubocop with rubocop-gradual:
|
|
22
|
+
- rubocop/gradual/patch
|
|
23
|
+
|
|
24
|
+
inherit_gem:
|
|
25
|
+
standard-rubocop-lts: config/ruby-2.7.yml
|
|
26
|
+
# shopify rules will override standard's rules.
|
|
27
|
+
rubocop-shopify: rubocop.yml
|
|
28
|
+
|
|
29
|
+
inherit_from:
|
|
30
|
+
- strict/ruby.yml
|
|
31
|
+
|
|
32
|
+
AllCops:
|
|
33
|
+
# When the Ruby community, via RuboCop, adopts a new standard
|
|
34
|
+
# (with additional filtering by standard.rb and rubocop-shopify) it is good enough for us!
|
|
35
|
+
NewCops: enable
|
|
36
|
+
|
|
37
|
+
# Metrics cops are disabled in Standard by default
|
|
38
|
+
Metrics:
|
|
39
|
+
Enabled: true
|
|
40
|
+
|
|
41
|
+
# Ruby specific customizations
|
|
42
|
+
Layout/LineLength:
|
|
43
|
+
Max: 120
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# These Cops Must Always Be Enabled!
|
|
2
|
+
# These Cops check for things that are *literally* bugs,
|
|
3
|
+
# and no code should ever be released that fails these cops.
|
|
4
|
+
#
|
|
5
|
+
# The Exclude: [] is crucial here:
|
|
6
|
+
# even if our .rubocop_todo.yml contained exclusions for strict cops, we nullify them here,
|
|
7
|
+
# thus, re-activating these cops for all the files.
|
|
8
|
+
#
|
|
9
|
+
# These settings must be loaded after any files of "TODOs" that instruct RuboCop to ignore errors.
|
|
10
|
+
# Fortunately this project doesn't rely on TODOs, instead relying on a rubocop_gradual lockfile.
|
|
11
|
+
#
|
|
12
|
+
Rails/Output: # Don't leave puts-debugging
|
|
13
|
+
Enabled: true
|
|
14
|
+
Exclude: []
|
|
15
|
+
|
|
16
|
+
Rails/FindEach: # each could severely affect the performance, use find_each
|
|
17
|
+
Enabled: true
|
|
18
|
+
Exclude: []
|
|
19
|
+
|
|
20
|
+
Rails/UniqBeforePluck: # uniq.pluck and not pluck.uniq
|
|
21
|
+
Enabled: true
|
|
22
|
+
Exclude: []
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# These Cops Must Always Be Enabled!
|
|
2
|
+
# These Cops check for things that are *literally* bugs,
|
|
3
|
+
# and no code should ever be released that fails these cops.
|
|
4
|
+
#
|
|
5
|
+
# The Exclude: [] is crucial here:
|
|
6
|
+
# even if our .rubocop_todo.yml contained exclusions for strict cops, we nullify them here,
|
|
7
|
+
# thus, re-activating these cops for all the files.
|
|
8
|
+
#
|
|
9
|
+
# These settings must be loaded after any files of "TODOs" that instruct RuboCop to ignore errors.
|
|
10
|
+
# Fortunately this project doesn't rely on TODOs, instead relying on a rubocop_gradual lockfile.
|
|
11
|
+
#
|
|
12
|
+
RSpec/Focus: # run ALL tests on CI
|
|
13
|
+
Enabled: true
|
|
14
|
+
Exclude: []
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# These Cops Must Always Be Enabled!
|
|
2
|
+
# These Cops check for things that are *literally* bugs,
|
|
3
|
+
# and no code should ever be released that fails these cops.
|
|
4
|
+
#
|
|
5
|
+
# The Exclude: [] is crucial here:
|
|
6
|
+
# even if our .rubocop_todo.yml contained exclusions for strict cops, we nullify them here,
|
|
7
|
+
# thus, re-activating these cops for all the files.
|
|
8
|
+
#
|
|
9
|
+
# These settings must be loaded after any files of "TODOs" that instruct RuboCop to ignore errors.
|
|
10
|
+
# Fortunately this project doesn't rely on TODOs, instead relying on a rubocop_gradual lockfile.
|
|
11
|
+
#
|
|
12
|
+
Lint/Debugger: # don't leave binding.pry
|
|
13
|
+
Enabled: true
|
|
14
|
+
Exclude: []
|
data/rubocop.yml
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# Change the file you inherit if you:
|
|
2
|
+
# * use Rails,
|
|
3
|
+
# * are creating a RubyGem, or
|
|
4
|
+
# * don't use RSpec
|
|
5
|
+
# As follows:
|
|
6
|
+
# inherit_gem:
|
|
7
|
+
# # Pick one:
|
|
8
|
+
# # rubocop-ruby2_7: rubocop-lts/rails_rspec.yml # or rubocop-lts/rails.yml w/o rspec
|
|
9
|
+
# # rubocop-ruby2_7: rubocop-lts/ruby_rspec.yml # or rubocop-lts/ruby.yml w/o rspec
|
|
10
|
+
# # rubocop-ruby2_7: rubocop-lts/rubygem_rspec.yml # or rubocop-lts/rubygem.yml w/o rspec
|
|
11
|
+
# # Convention over configuration, hence loading this file just only Ruby and RSpec defaults:
|
|
12
|
+
# rubocop-ruby2_7: rubocop.yml # for the ruby + rspec
|
|
13
|
+
|
|
14
|
+
inherit_from:
|
|
15
|
+
- rubocop-lts/ruby_rspec.yml
|
data/sig/rubocop/ruby2_7.rbs
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubocop-ruby2_7
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Boling
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
@@ -36,65 +36,175 @@ cert_chain:
|
|
|
36
36
|
gwGrEXGQGDZ0NIgBcmvMOqlXjkGQwQvugKycJ024z89+fz2332vdZIKTrSxJrXGk
|
|
37
37
|
4/bR9A==
|
|
38
38
|
-----END CERTIFICATE-----
|
|
39
|
-
date: 2023-
|
|
39
|
+
date: 2023-05-19 00:00:00.000000000 Z
|
|
40
40
|
dependencies:
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rubocop
|
|
42
|
+
name: rubocop-gradual
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: '0.3'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: '0.3'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: rubocop-md
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '1.2'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '1.2'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rubocop-rake
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.6'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.6'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop-shopify
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '2.13'
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '2.13'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rubocop-thread_safety
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0.5'
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0.5'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: standard-rubocop-lts
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: 1.0.1
|
|
118
|
+
- - "<"
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
120
|
+
version: '2'
|
|
121
|
+
type: :runtime
|
|
122
|
+
prerelease: false
|
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
124
|
+
requirements:
|
|
125
|
+
- - ">="
|
|
126
|
+
- !ruby/object:Gem::Version
|
|
127
|
+
version: 1.0.1
|
|
128
|
+
- - "<"
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '2'
|
|
131
|
+
- !ruby/object:Gem::Dependency
|
|
132
|
+
name: version_gem
|
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - ">="
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: 1.1.2
|
|
138
|
+
- - "<"
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
140
|
+
version: '3'
|
|
141
|
+
type: :runtime
|
|
142
|
+
prerelease: false
|
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
144
|
+
requirements:
|
|
145
|
+
- - ">="
|
|
146
|
+
- !ruby/object:Gem::Version
|
|
147
|
+
version: 1.1.2
|
|
148
|
+
- - "<"
|
|
149
|
+
- !ruby/object:Gem::Version
|
|
150
|
+
version: '3'
|
|
151
|
+
- !ruby/object:Gem::Dependency
|
|
152
|
+
name: rubocop-packaging
|
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
|
154
|
+
requirements:
|
|
155
|
+
- - "~>"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '0.5'
|
|
158
|
+
type: :development
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - "~>"
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '0.5'
|
|
165
|
+
- !ruby/object:Gem::Dependency
|
|
166
|
+
name: rubocop-rspec
|
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - "~>"
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '2.22'
|
|
62
172
|
type: :development
|
|
63
173
|
prerelease: false
|
|
64
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
175
|
requirements:
|
|
66
176
|
- - "~>"
|
|
67
177
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
178
|
+
version: '2.22'
|
|
69
179
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
180
|
+
name: standard-rails
|
|
71
181
|
requirement: !ruby/object:Gem::Requirement
|
|
72
182
|
requirements:
|
|
73
183
|
- - "~>"
|
|
74
184
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
185
|
+
version: '0.1'
|
|
76
186
|
type: :development
|
|
77
187
|
prerelease: false
|
|
78
188
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
189
|
requirements:
|
|
80
190
|
- - "~>"
|
|
81
191
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
192
|
+
version: '0.1'
|
|
83
193
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
194
|
+
name: betterlint
|
|
85
195
|
requirement: !ruby/object:Gem::Requirement
|
|
86
196
|
requirements:
|
|
87
197
|
- - "~>"
|
|
88
198
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
199
|
+
version: '1.4'
|
|
90
200
|
type: :development
|
|
91
201
|
prerelease: false
|
|
92
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
203
|
requirements:
|
|
94
204
|
- - "~>"
|
|
95
205
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
97
|
-
description:
|
|
206
|
+
version: '1.4'
|
|
207
|
+
description: Configure RuboCop + a bevy of friends to gradually lint Ruby 2.7 code
|
|
98
208
|
email:
|
|
99
209
|
- peter.boling@gmail.com
|
|
100
210
|
executables: []
|
|
@@ -108,7 +218,18 @@ files:
|
|
|
108
218
|
- README.md
|
|
109
219
|
- SECURITY.md
|
|
110
220
|
- lib/rubocop/ruby2_7.rb
|
|
221
|
+
- lib/rubocop/ruby2_7/railtie.rb
|
|
111
222
|
- lib/rubocop/ruby2_7/version.rb
|
|
223
|
+
- rubocop-lts/rails.yml
|
|
224
|
+
- rubocop-lts/rails_rspec.yml
|
|
225
|
+
- rubocop-lts/rspec.yml
|
|
226
|
+
- rubocop-lts/ruby.yml
|
|
227
|
+
- rubocop-lts/ruby_rspec.yml
|
|
228
|
+
- rubocop-lts/rubygem.yml
|
|
229
|
+
- rubocop-lts/rubygem_rspec.yml
|
|
230
|
+
- rubocop-lts/strict/rails.yml
|
|
231
|
+
- rubocop-lts/strict/rspec.yml
|
|
232
|
+
- rubocop-lts/strict/ruby.yml
|
|
112
233
|
- rubocop.yml
|
|
113
234
|
- sig/rubocop/ruby2_7.rbs
|
|
114
235
|
homepage: https://github.com/rubocop-lts/rubocop-ruby2_7
|
|
@@ -116,14 +237,14 @@ licenses:
|
|
|
116
237
|
- MIT
|
|
117
238
|
metadata:
|
|
118
239
|
homepage_uri: https://github.com/rubocop-lts/rubocop-ruby2_7
|
|
119
|
-
source_code_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/tree/
|
|
120
|
-
changelog_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/
|
|
240
|
+
source_code_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/tree/v2.0.2
|
|
241
|
+
changelog_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/v2.0.2/CHANGELOG.md
|
|
121
242
|
bug_tracker_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
|
|
122
|
-
documentation_uri: https://www.rubydoc.info/gems/rubocop-ruby2_7/
|
|
243
|
+
documentation_uri: https://www.rubydoc.info/gems/rubocop-ruby2_7/2.0.2
|
|
123
244
|
funding_uri: https://liberapay.com/pboling
|
|
124
245
|
wiki_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/wiki
|
|
125
246
|
rubygems_mfa_required: 'true'
|
|
126
|
-
post_install_message:
|
|
247
|
+
post_install_message:
|
|
127
248
|
rdoc_options: []
|
|
128
249
|
require_paths:
|
|
129
250
|
- lib
|
|
@@ -131,15 +252,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
131
252
|
requirements:
|
|
132
253
|
- - ">="
|
|
133
254
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: 2.7
|
|
255
|
+
version: '2.7'
|
|
135
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
257
|
requirements:
|
|
137
258
|
- - ">="
|
|
138
259
|
- !ruby/object:Gem::Version
|
|
139
260
|
version: '0'
|
|
140
261
|
requirements: []
|
|
141
|
-
rubygems_version: 3.4.
|
|
142
|
-
signing_key:
|
|
262
|
+
rubygems_version: 3.4.13
|
|
263
|
+
signing_key:
|
|
143
264
|
specification_version: 4
|
|
144
|
-
summary:
|
|
265
|
+
summary: 'Rules for Rubies: Rubocop + Standard + Betterlint + Shopify + Gradual'
|
|
145
266
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|