rubocop-ruby2_7 1.1.3 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be59390e3a1aa97781a6ff07e57fe04293f1c6faeeaf2860ad8c750d9752e4f2
4
- data.tar.gz: 3ba9ea2efb3652868d9fae7fb99622fd2a4a33a89285a1937daae6c845a4a525
3
+ metadata.gz: a428a7b1c85559644e4930bfff384aceedc872b77dde1c5344eaf4d926143d29
4
+ data.tar.gz: ee6fcda120545e44981f40efd1aa28119508bc1a931cdad927b3470eacc8cbc3
5
5
  SHA512:
6
- metadata.gz: 1db85b02e486e79fdfe529028c980dd0ef930a2f88d4d431d479f513af97d65426e85b6568d69366a727b61867be36fc93bec013a8caa36e4959548015b890e4
7
- data.tar.gz: 4cd50c6d5603d92b08938a1c8b32a152a0e58b75b056bb1392787710ad6035ff604e9e3085ae991b58362540bb56410d4050b791b18e468e759358709ae5d356
6
+ metadata.gz: aaec0b0da219f3aa4b5242678f7a77fa24d19a583e308b22a2880496b067d32ee493c43369156b326c62a4c59bce5e51954dacc8eb33e31a573ce8d928cd526c
7
+ data.tar.gz: 55dc7e444ff356d0e63754c2ec3dc59ba2d0cefbca501251b019e3e298ca8a4a4bc3ac7151a8fc28d9053a500d33aa68f2f714fbf58724ad0d428f3f50be3283
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -10,72 +10,112 @@ 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.3] 2023-05-21
14
+ ### Fixed
15
+ - Ship rake tasks in gem package
16
+
17
+ ## [2.0.2] 2023-05-19
18
+ ### Fixed
19
+ - Fix rake_tasks hook on Railtie
20
+
21
+ ## [2.0.1] 2023-05-17 [YANKED]
22
+ ### Added
23
+ - Configs added for:
24
+ - standard-performance
25
+ - standard-custom
26
+ - standard-rubocop-lts
27
+ - And optionally, if you are building a Rails app:
28
+ - betterlint
29
+ - standard-rails
30
+ - version_gem
31
+
32
+ ## [2.0.0] 2023-05-09 [YANKED]
33
+ ### Changed
34
+ - New/Better configs for:
35
+ - rubocop
36
+ - rubocop-gradual
37
+ - rubocop-md
38
+ - rubocop-performance
39
+ - rubocop-rake
40
+ - rubocop-shopify
41
+ - rubocop-thread_safety
42
+ - standard
43
+ - And optionally, if you are using RSpec:
44
+ - rubocop-rspec
45
+ - And optionally, if you are using building a RubyGem:
46
+ - rubocop-packaging
47
+ ### Removed
48
+ - Support for Ruby <= 2.6. Minimum Ruby Version is now 2.7
49
+
13
50
  ## [1.1.3] 2023-03-14
14
51
  ### Added
15
- * GitLab CI config
52
+ - GitLab CI config
16
53
  ### Changed
17
- * Upgraded to RuboCop v1.48.1
54
+ - Upgraded to RuboCop v1.48.1
18
55
 
19
56
  ## [1.1.2] 2023-02-01
20
57
  ### Fixed
21
- * Stop defining global variable in version.rb
58
+ - Stop defining global variable in version.rb
22
59
  ### Changed
23
- * Upgraded to RuboCop v1.44.1
24
- * Compatible with rubocop-packaging ~> 0.5.2
25
- * Improved development documentation
26
- * Improved documentation on SemVer adherence
60
+ - Upgraded to RuboCop v1.44.1
61
+ - Compatible with rubocop-packaging ~> 0.5.2
62
+ - Improved development documentation
63
+ - Improved documentation on SemVer adherence
27
64
 
28
65
  ## [1.1.1] 2022-12-20
29
66
  ### Fixed
30
- * Documentation of Three Guarantees:
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.
67
+ - Documentation
33
68
  ### Changed
34
- * Minimum code coverage == 100%
69
+ - Minimum code coverage == 100%
35
70
 
36
71
  ## [1.1.0] 2022-12-19
37
72
  ### Added
38
- * More Linting Rules
39
- * Improved Rakefile for YARD docs
40
- * Improved Documentation related to Three Guarantees
41
- * Updated Ruby Version Support in Readme
42
- * Improved documentation
73
+ - More Linting Rules
74
+ - Improved Rakefile for YARD docs
75
+ - Improved Documentation related to Three Guarantees
76
+ - Updated Ruby Version Support in Readme
77
+ - Improved documentation
43
78
  ### Changed
44
- * Rubocop => RuboCop typo repair in documentation
79
+ - Rubocop => RuboCop typo repair in documentation
45
80
 
46
81
  ## [1.0.6] 2022-06-08
47
82
  ### Changed
48
- * Update to rubocop 1.30.1
49
- * Removed test_files from gemspec
50
- * Add binstubs for bundle, rake, rspec, and rubocop
83
+ - Update to rubocop 1.30.1
84
+ - Removed test_files from gemspec
85
+ - Add binstubs for bundle, rake, rspec, and rubocop
51
86
 
52
87
  ## [1.0.5] 2022-06-05
53
88
  ### Changed
54
- * Update to rubocop 1.30.0
89
+ - Update to rubocop 1.30.0
55
90
 
56
91
  ## [1.0.4] 2022-05-23
57
92
  ### Changed
58
- * Update to rubocop 1.29.1
93
+ - Update to rubocop 1.29.1
59
94
 
60
95
  ## [1.0.3] 2022-05-23
61
96
  ### Added
62
- * Rubocop => RuboCop typo repair
63
- * Ruby Version Support Matrix
64
- * Improved documentation
97
+ - Rubocop => RuboCop typo repair
98
+ - Ruby Version Support Matrix
99
+ - Improved documentation
65
100
 
66
101
  ## [1.0.2] 2022-05-03
67
102
  ### Fixed
68
- * Added missing rubocop.yml for inherit_gem directive
103
+ - Added missing rubocop.yml for inherit_gem directive
69
104
 
70
105
  ## [1.0.1] 2022-05-02
71
106
  ### Added
72
- * Documentation
107
+ - Documentation
73
108
 
74
109
  ## [1.0.0] 2022-05-01
75
110
  ### Added
76
- * Initial release
111
+ - Initial release
77
112
 
78
- [Unreleased]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.2...HEAD
113
+ [Unreleased]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.3...HEAD
114
+ [2.0.3]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.2...v2.0.3
115
+ [2.0.2]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.1...v2.0.2
116
+ [2.0.1]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v2.0.0...v2.0.1
117
+ [2.0.0]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.3...v2.0.0
118
+ [1.1.3]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.2...v1.1.3
79
119
  [1.1.2]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.1...v1.1.2
80
120
  [1.1.1]: https://github.com/rubocop-lts/rubocop-ruby2_7/compare/v1.1.0...v1.1.1
81
121
  [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. run `bundle exec rake build:checksum`
17
- 4. move the built gem to project root
18
- 5. run `bin/checksum` to create the missing SHA256 checksum
19
- 6. move the built gem back to `pkg/`
20
- 7. commit the changes
21
- 8. 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].
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
- [![Contributors][🖐contributors-img]][🖐contributors]
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`](https://github.com/rubocop-lts/rubocop-lts#-how-to-untie-gorgons-knot) which sits as a higher level than this gem, and can keep pace with whatever version of Ruby you happen to be on.
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 | 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`][⛳️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] |
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
- [⛳️27-vi]: http://img.shields.io/gem/v/rubocop-ruby2_7.svg
62
- [🖇️27-dti]: https://img.shields.io/gem/dt/rubocop-ruby2_7.svg
63
- [🏘️27-rti]: https://img.shields.io/gem/rt/rubocop-ruby2_7.svg
64
- [🚎27-cwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml
65
- [🚎27-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/current.yml/badge.svg
66
- [🖐27-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml
67
- [🖐27-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/heads.yml/badge.svg
68
- [🧮27-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml
69
- [🧮27-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_7/actions/workflows/legacy.yml/badge.svg
70
- [📗27-io]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
71
- [📗27-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_7
72
- [🚀27-ic]: https://github.com/rubocop-lts/rubocop-ruby2_7/issues?q=is%3Aissue+is%3Aclosed
73
- [🚀27-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby2_7
74
- [💄27-po]: https://github.com/rubocop-lts/rubocop-ruby2_7/pulls
75
- [💄27-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby2_7
76
- [👽27-pc]: https://github.com/rubocop-lts/rubocop-ruby2_7/pulls?q=is%3Apr+is%3Aclosed
77
- [👽27-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby2_7
78
- [⛳️27-g]: https://rubygems.org/gems/rubocop-ruby2_7
79
- [⛳️27-gh]: https://github.com/rubocop-lts/rubocop-ruby2_7
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 requires no other gems. It depends on `rubocop`, but does not `require 'rubocop'`.
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 the the desired minimum compatible/supported Ruby version.
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
- Adding this gem will facilitate the best practice of adding a `~> ` version constrained `rubocop` dependency, while
112
- minimizing the risk of a rubocop minor / patch upgrade breaking the build. See the
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
- ### Three Guarantees
137
+ ### What's that you say?
116
138
 
117
- This gem will install a version of `rubocop` which will
118
- **install** on (1), **run** on (2), and **analyze code** (3) intended to support any version of Ruby >= 2.7.
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.8 and 1.9.
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` series of gems has a version supporting any version of Ruby you need.
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
- [what1_8]: https://gitlab.com/rubocop-lts/rubocop-ruby1_9#what-about-ruby-18
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
- Add to the top of your project's `.rubocop.yml` configuration file:
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
- This has the same effect as you declaring the following in your `.rubocop.yml`:
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
- ### TargetRubyVersion
245
+ ### ⚙️ `NewCops: enable`
211
246
 
212
- Allowing this gem to manage the target ruby version means you can switch to a different gem within the family when you upgrade to the next version of Ruby, and have nothing else to change. A single line in the `Gemfile`, and you are done.
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
- ### NewCops: enable
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
- You may not use this setting in your project yet. 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.
251
+ ## Advanced Usage
217
252
 
218
- But this gem shoehorns rubocop into SemVer... 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 bumpin your CI Build!
253
+ ### Linting Ruby + RSpec
219
254
 
220
- ## Development
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`. 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).
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](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
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-semver)</summary>
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 the Rubocop::Ruby27 project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/CODE_OF_CONDUCT.md).
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", "~> 1.1"
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
- [security]: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/SECURITY.md
299
-
300
- [license]: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/main/LICENSE.txt
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
- [semver]: http://semver.org/
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
- [chat]: https://gitter.im/rubocop-lts/rubocop-ruby2_7?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
343
-
344
- [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
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
@@ -4,7 +4,8 @@
4
4
 
5
5
  | Version | Supported |
6
6
  |---------|-----------|
7
- | 1.x | ✅ |
7
+ | 2.x | ✅ |
8
+ | 1.x | ❌ |
8
9
 
9
10
  ## Reporting a Vulnerability
10
11
 
@@ -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
@@ -0,0 +1,11 @@
1
+ begin
2
+ require "rubocop/gradual/rake_task"
3
+
4
+ RuboCop::Gradual::RakeTask.new(:rubocop_gradual)
5
+ desc "alias rubocop task to rubocop_gradual"
6
+ task rubocop: :rubocop_gradual
7
+ rescue LoadError
8
+ task :rubocop_gradual do
9
+ warn "NOTE: rubocop-gradual isn't installed, or is disabled for #{RUBY_VERSION} in the current environment"
10
+ end
11
+ end
@@ -0,0 +1,4 @@
1
+ # Load from a "rakelib" directory is automatic!
2
+ # Adding our custom directory of tasks as a rakelib directory makes them available.
3
+ rakelib = "lib/rubocop/ruby2_7/rakelib"
4
+ Rake.add_rakelib(rakelib)
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Rubocop
4
4
  module Ruby27
5
- VERSION = "1.1.3"
5
+ module Version
6
+ VERSION = "2.0.3"
7
+ end
6
8
  end
7
9
  end
@@ -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,11 @@
1
+ # Customizations/Deviations from Standard/Shopify for RuboCop-LTS Rails Coding Standards
2
+ inherit_from:
3
+ - ruby.yml
4
+ - strict/rails.yml
5
+
6
+ require:
7
+ - rubocop-rails
8
+ - standard-rails
9
+ - betterlint
10
+
11
+ # Rails specific customizations
@@ -0,0 +1,6 @@
1
+ # Customizations/Deviations from Standard/Shopify for RuboCop-LTS Rails w/ RSpec Coding Standards
2
+ inherit_from:
3
+ - rails.yml
4
+ - rspec.yml
5
+
6
+ # Rails/RSpec specific customizations
@@ -0,0 +1,9 @@
1
+ require:
2
+ # I setup RSpec on every project. Do you?
3
+ - rubocop-rspec
4
+
5
+ inherit_gem:
6
+ rspec-block_is_expected: rubocop.yml
7
+
8
+ inherit_from:
9
+ - strict/rspec.yml
@@ -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,6 @@
1
+ # Customizations/Deviations from Standard/Shopify for RuboCop-LTS Ruby w/ RSpec Coding Standards
2
+ inherit_from:
3
+ - ruby.yml
4
+ - rspec.yml
5
+
6
+ # Ruby/RSpec specific customizations
@@ -0,0 +1,6 @@
1
+ # Customizations/Deviations from Standard/Shopify for RubyGem Coding Standards
2
+ inherit_from:
3
+ - ruby.yml
4
+
5
+ require:
6
+ - rubocop-packaging
@@ -0,0 +1,4 @@
1
+ # Customizations/Deviations from Standard/Shopify for RubyGem w/ RSpec Coding Standards
2
+ inherit_from:
3
+ - rubygem.yml
4
+ - rspec.yml
@@ -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
- AllCops:
2
- TargetRubyVersion: 2.7
3
- NewCops: enable
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
@@ -1,6 +1,8 @@
1
1
  module Rubocop
2
2
  module Ruby27
3
- VERSION: String
4
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
3
+ module Version
4
+ VERSION: String
5
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
6
+ end
5
7
  end
6
8
  end
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: 1.1.3
4
+ version: 2.0.3
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-03-14 00:00:00.000000000 Z
39
+ date: 2023-05-21 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: 1.48.1
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: 1.48.1
54
+ version: '0.3'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: rubocop-md
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '13.0'
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: '13.0'
178
+ version: '2.22'
69
179
  - !ruby/object:Gem::Dependency
70
- name: rspec
180
+ name: standard-rails
71
181
  requirement: !ruby/object:Gem::Requirement
72
182
  requirements:
73
183
  - - "~>"
74
184
  - !ruby/object:Gem::Version
75
- version: '3.12'
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: '3.12'
192
+ version: '0.1'
83
193
  - !ruby/object:Gem::Dependency
84
- name: yard
194
+ name: betterlint
85
195
  requirement: !ruby/object:Gem::Requirement
86
196
  requirements:
87
197
  - - "~>"
88
198
  - !ruby/object:Gem::Version
89
- version: '0.9'
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: '0.9'
97
- description: Links dependency on minimum Ruby version to maximum RuboCop version
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,20 @@ files:
108
218
  - README.md
109
219
  - SECURITY.md
110
220
  - lib/rubocop/ruby2_7.rb
221
+ - lib/rubocop/ruby2_7/railtie.rb
222
+ - lib/rubocop/ruby2_7/rakelib/rubocop_gradual.rake
223
+ - lib/rubocop/ruby2_7/tasks.rake
111
224
  - lib/rubocop/ruby2_7/version.rb
225
+ - rubocop-lts/rails.yml
226
+ - rubocop-lts/rails_rspec.yml
227
+ - rubocop-lts/rspec.yml
228
+ - rubocop-lts/ruby.yml
229
+ - rubocop-lts/ruby_rspec.yml
230
+ - rubocop-lts/rubygem.yml
231
+ - rubocop-lts/rubygem_rspec.yml
232
+ - rubocop-lts/strict/rails.yml
233
+ - rubocop-lts/strict/rspec.yml
234
+ - rubocop-lts/strict/ruby.yml
112
235
  - rubocop.yml
113
236
  - sig/rubocop/ruby2_7.rbs
114
237
  homepage: https://github.com/rubocop-lts/rubocop-ruby2_7
@@ -116,14 +239,14 @@ licenses:
116
239
  - MIT
117
240
  metadata:
118
241
  homepage_uri: https://github.com/rubocop-lts/rubocop-ruby2_7
119
- source_code_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/tree/v1.1.3
120
- changelog_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/v1.1.3/CHANGELOG.md
242
+ source_code_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/tree/v2.0.3
243
+ changelog_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/blob/v2.0.3/CHANGELOG.md
121
244
  bug_tracker_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/issues
122
- documentation_uri: https://www.rubydoc.info/gems/rubocop-ruby2_7/1.1.3
245
+ documentation_uri: https://www.rubydoc.info/gems/rubocop-ruby2_7/2.0.3
123
246
  funding_uri: https://liberapay.com/pboling
124
247
  wiki_uri: https://github.com/rubocop-lts/rubocop-ruby2_7/wiki
125
248
  rubygems_mfa_required: 'true'
126
- post_install_message:
249
+ post_install_message:
127
250
  rdoc_options: []
128
251
  require_paths:
129
252
  - lib
@@ -131,15 +254,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
254
  requirements:
132
255
  - - ">="
133
256
  - !ruby/object:Gem::Version
134
- version: 2.7.0
257
+ version: '2.7'
135
258
  required_rubygems_version: !ruby/object:Gem::Requirement
136
259
  requirements:
137
260
  - - ">="
138
261
  - !ruby/object:Gem::Version
139
262
  version: '0'
140
263
  requirements: []
141
- rubygems_version: 3.4.8
142
- signing_key:
264
+ rubygems_version: 3.4.13
265
+ signing_key:
143
266
  specification_version: 4
144
- summary: Semantically Versioned RuboCop Dependency
267
+ summary: 'Rules for Rubies: Rubocop + Standard + Betterlint + Shopify + Gradual'
145
268
  test_files: []
metadata.gz.sig CHANGED
Binary file