rubocop-govuk 3.16.0 → 4.0.0.pre.1

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: bbde5e0b6a71966c3c76a712077229e4be9de9ab400a3ad54e43ce55a98d2920
4
- data.tar.gz: f09db889982c986669ce7a6ab535f3d8011d2725ee65aa5aa92df451e2cb406a
3
+ metadata.gz: 884a324d47c9f299b7cc0c72c2cb40b2bb61d5fae4385a14ac380da58d9585c6
4
+ data.tar.gz: ee81a830fb4d49f7caf8df86161e7df83df2502c122f4512eed9e6403c9fc38b
5
5
  SHA512:
6
- metadata.gz: bed4ce6b4dc5eb4633258405831b182e72f495738b3152eca931623069a35cbf37322e3788da43c616960cfe1a668871ba41b26d9104e98416853d86ba03b83a
7
- data.tar.gz: b299bbdb9ec85294230c07239cec79e256d39f3203257ba2fe6ae8ef1c2da53a64ea93911564d2de01b3c3174e5bb602949da656f27240b3c144f9c1f190fabd
6
+ metadata.gz: ad5c46c656afc890833c05899851f0288529957d6d0f0b0f7f1b7a246a5c34b0d8cd1e7b02c98f330c96643a0f1ce667b2378a0037ca41da9bdc0b15cb61cee7
7
+ data.tar.gz: 78732fc5680817d9cdacd6b27469d03bea5bfae201d1cf6cba568e1e716258d16ae302945bf23917e8fe026aaaf9fe3b0885d5d73c0d008d2240833c69b92cea
data/CHANGELOG.md CHANGED
@@ -1,3 +1,43 @@
1
+ # 4.0.0.pre.1
2
+
3
+ - Released as a pre-release to try surface any issues before wider rollout,
4
+ use https://github.com/alphagov/rubocop-govuk/issues/129 to record any
5
+ problems
6
+ - BREAKING: Upgraded from Rubocop 0.x to 1.x which introduces lots of new
7
+ cops
8
+ - Update rubocop to 1.10.0
9
+ - Update rubocop-ast to 1.4.0
10
+ - Update rubocop-rails to 2.9.1
11
+ - Update rubocop-rspec to 2.2.0
12
+ - Make stable dependencies (>= 1.0) less strict on patch version
13
+ - Disable `SuggestExtensions` to stop Rubocop suggesting additional
14
+ extensions at runtime
15
+ - Explicitly set target Ruby version to `>= 2.6` in gemspec
16
+ - Downgrade local Ruby version to `2.6.6` to capture lowest supported
17
+ Ruby version
18
+ - Fix namespace change of `Capybara/FeatureMethods`
19
+ - Disable `Naming/VariableNumbers`
20
+
21
+ # 4.0.0.pre.pre.1
22
+
23
+ - Mistakenly named release, same as 4.0.0.pre.1
24
+
25
+ # 3.17.2
26
+
27
+ - Rename Blacklist to ForbiddenMethods to fix rubocop-rails warnings
28
+
29
+ # 3.17.1
30
+
31
+ - Pin rubocop-ast to 0.8.0
32
+
33
+ # 3.17.0
34
+
35
+ - Enable Rails/SaveBang
36
+ - Enable Style/DateTime
37
+ - Enforce strict Time.zone.now
38
+ - Bump rubocop to 0.87.1
39
+ - Bump rubocop-rspec to 1.42.0
40
+
1
41
  # 3.16.0
2
42
 
3
43
  - Bump and lock rubocop-rails to 2.6.0
data/README.md CHANGED
@@ -8,7 +8,7 @@ Add `rubocop-govuk` to your Gemfile and then run `bundle install`:
8
8
 
9
9
  ```ruby
10
10
  # Gemfile
11
- gem 'rubocop-govuk'
11
+ gem 'rubocop-govuk', require: false
12
12
  ```
13
13
 
14
14
  Then inherit the default rules by adding the following in your project:
data/config/capybara.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  # Within GOV.UK we use Capybara test method syntax of feature,
2
2
  # scenario. We don't want this outside of feature specs though.
3
- Capybara/FeatureMethods:
3
+ RSpec/Capybara/FeatureMethods:
4
4
  Exclude:
5
5
  - 'spec/features/**/*.rb'
data/config/default.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  AllCops:
2
2
  NewCops: disable
3
+ SuggestExtensions: false
3
4
  Exclude:
4
5
  - 'bin/**'
5
6
  - 'config.ru'
data/config/naming.yml CHANGED
@@ -19,3 +19,10 @@ Naming/AccessorMethodName:
19
19
  # repos, which would require manual intervention.
20
20
  Naming/PredicateName:
21
21
  Enabled: false
22
+
23
+ # This rule can cause readability issues when applied (for example
24
+ # `born_on_or_before_6_april_1935` becomes `born_on_or_before_6april1935`)
25
+ # and would require lots of amends to apply either `normalcase`
26
+ # or `snake_case` to projects. It is not auto-correctable.
27
+ Naming/VariableNumber:
28
+ Enabled: false
data/config/rails.yml CHANGED
@@ -36,7 +36,7 @@ Rails/Output:
36
36
  # no efficient alternative. Instead, we should only enable
37
37
  # this Cop for methods that have a clear alternative.
38
38
  Rails/SkipsModelValidations:
39
- Blacklist:
39
+ ForbiddenMethods:
40
40
  - update_attribute
41
41
 
42
42
  # While using has_many/through does have some advantages,
@@ -79,3 +79,16 @@ Rails/HasManyOrHasOneDependent:
79
79
  # little value to many developers.
80
80
  Rails/OutputSafety:
81
81
  Enabled: false
82
+
83
+ # We seldom check the return value of 'update' to see if
84
+ # the operation was successful. Since we assume success, we
85
+ # should raise an exception if this is not the case.
86
+ Rails/SaveBang:
87
+ Enabled: true
88
+
89
+ # We should avoid unnecessary ambiguity between 'Time.current'
90
+ # and 'Time.zone.now', where 'Time.current' behaves differently
91
+ # depending on application config. We should always be explicit
92
+ # about whether we mean 'Time[.zone].now'.
93
+ Rails/TimeZone:
94
+ EnforcedStyle: "strict"
data/config/rspec.yml CHANGED
@@ -10,6 +10,11 @@ inherit_from:
10
10
  RSpec/ExampleLength:
11
11
  Enabled: false
12
12
 
13
+ # We should avoid cops that are based on heuristics, since
14
+ # it's not clear what action to take to fix an issue.
15
+ RSpec/MultipleMemoizedHelpers:
16
+ Enabled: false
17
+
13
18
  # We have common cases, such as rake tasks, where we do not
14
19
  # use a class to the describe the test.
15
20
  RSpec/DescribeClass:
data/config/style.yml CHANGED
@@ -145,3 +145,11 @@ Style/SafeNavigation:
145
145
  # https://github.com/rubocop-hq/rubocop/issues/7197
146
146
  Style/FrozenStringLiteralComment:
147
147
  Enabled: false
148
+
149
+ # We should only use DateTime when it's necessary to account
150
+ # for ancient calendar changes. Otherwise, the arbitrary use
151
+ # of this class in place of Date or Time is confusing.
152
+ #
153
+ # https://rubystyle.guide/#no-datetime
154
+ Style/DateTime:
155
+ Enabled: true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-govuk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.0
4
+ version: 4.0.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Government Digital Service
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
11
+ date: 2021-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -28,30 +28,44 @@ dependencies:
28
28
  name: rubocop
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.85.1
33
+ version: 1.10.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.10.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-ast
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.4.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: 0.85.1
54
+ version: 1.4.0
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rubocop-rails
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '='
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 2.6.0
61
+ version: 2.9.1
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '='
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 2.6.0
68
+ version: 2.9.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rubocop-rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +84,16 @@ dependencies:
70
84
  name: rubocop-rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - '='
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: 1.39.0
89
+ version: 2.2.0
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '='
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 1.39.0
96
+ version: 2.2.0
83
97
  description: Shared RuboCop rules for Ruby projects in GOV.UK
84
98
  email:
85
99
  - govuk-dev@digital.cabinet-office.gov.uk
@@ -111,14 +125,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
125
  requirements:
112
126
  - - ">="
113
127
  - !ruby/object:Gem::Version
114
- version: '0'
128
+ version: '2.6'
115
129
  required_rubygems_version: !ruby/object:Gem::Requirement
116
130
  requirements:
117
- - - ">="
131
+ - - ">"
118
132
  - !ruby/object:Gem::Version
119
- version: '0'
133
+ version: 1.3.1
120
134
  requirements: []
121
- rubygems_version: 3.1.4
135
+ rubygems_version: 3.2.11
122
136
  signing_key:
123
137
  specification_version: 4
124
138
  summary: RuboCop GOV.UK