publishing_platform_rubocop 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +2 -0
- data/config/capybara.yml +6 -0
- data/config/default.yml +27 -0
- data/config/layout.yml +78 -0
- data/config/metrics.yml +73 -0
- data/config/naming.yml +28 -0
- data/config/rails.yml +94 -0
- data/config/rake.yml +1 -0
- data/config/rspec.yml +53 -0
- data/config/style.yml +162 -0
- metadata +136 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f27137d2bfe4b25d99f0ac251051e50b8c8a7e4c5f0d362cd81384d1074b3070
|
4
|
+
data.tar.gz: b3ad74d780bd5cf98ee1a2e32f397df408978ab334a44bfd832beb77560533dd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e3175569084735053a97c4f0282f1e15eac69f8a877ea0d2f7e0ed38571e23bd3665a3369947eae5ae068fd8f0b6d0bb5e7b4c262012ae1301f6cda4f267b962
|
7
|
+
data.tar.gz: dfde7d47e3d316bfc0747e33fa761035cc0ecf6b5eb1938ca17ef1d27a11a81436f8e31d827330982cfea3d31d7345c154c0a00e2233515deea357bdbb395c25
|
data/README.md
ADDED
data/config/capybara.yml
ADDED
data/config/default.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
AllCops:
|
2
|
+
NewCops: disable
|
3
|
+
SuggestExtensions: false
|
4
|
+
Exclude:
|
5
|
+
- 'bin/**'
|
6
|
+
- 'config.ru'
|
7
|
+
- 'tmp/**/*'
|
8
|
+
- 'db/schema.rb'
|
9
|
+
- 'db/migrate/201*'
|
10
|
+
- 'vendor/**/*'
|
11
|
+
- 'node_modules/**/*'
|
12
|
+
|
13
|
+
DisplayCopNames:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
ExtraDetails:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
DisplayStyleGuide:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
inherit_from:
|
23
|
+
- layout.yml
|
24
|
+
- metrics.yml
|
25
|
+
- naming.yml
|
26
|
+
- style.yml
|
27
|
+
- rake.yml
|
data/config/layout.yml
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# https://github.com/alphagov/govuk-lint/pull/7
|
2
|
+
# "There are occasions where following this rule forces you to make the
|
3
|
+
# code less readable. This is particularly the case for tests where method
|
4
|
+
# names form the test descriptions. Keeping test descriptions under a
|
5
|
+
# certain length can force them to become cryptic."
|
6
|
+
Layout/LineLength:
|
7
|
+
Enabled: false
|
8
|
+
|
9
|
+
# We have two styles of method call in our apps:
|
10
|
+
#
|
11
|
+
# SomeClass.first_method_call_on_same_line
|
12
|
+
# .other_method_call
|
13
|
+
#
|
14
|
+
# a_particularly_long_first_method_call
|
15
|
+
# .subsequent_method_call
|
16
|
+
#
|
17
|
+
# Any setting of this Cop would cause odd alignment
|
18
|
+
# for one of these styles. Since there isn't a Cop to
|
19
|
+
# set a preferred style, we should disable this one.
|
20
|
+
Layout/MultilineMethodCallIndentation:
|
21
|
+
Enabled: false
|
22
|
+
|
23
|
+
# Part of the orignal GDS styleguide
|
24
|
+
# "Outdent private etc"
|
25
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#classes
|
26
|
+
Layout/AccessModifierIndentation:
|
27
|
+
Enabled: true
|
28
|
+
EnforcedStyle: outdent
|
29
|
+
|
30
|
+
# Our predominant style of writing multiline arrays is:
|
31
|
+
#
|
32
|
+
# my_array = [
|
33
|
+
# element_1,
|
34
|
+
# element_2,
|
35
|
+
# ]
|
36
|
+
#
|
37
|
+
# even_in_a_method_call([
|
38
|
+
# element_1,
|
39
|
+
# element_2,
|
40
|
+
# ])
|
41
|
+
Layout/FirstArrayElementIndentation:
|
42
|
+
EnforcedStyle: consistent
|
43
|
+
|
44
|
+
# Our predominant style of writing multiline hashes is:
|
45
|
+
#
|
46
|
+
# my_hash = {
|
47
|
+
# key_1: value_1,
|
48
|
+
# key_2: value_2,
|
49
|
+
# }
|
50
|
+
#
|
51
|
+
# even_in_a_method_call({
|
52
|
+
# key_1: value_1,
|
53
|
+
# key_2: value_2,
|
54
|
+
# })
|
55
|
+
Layout/FirstHashElementIndentation:
|
56
|
+
EnforcedStyle: consistent
|
57
|
+
|
58
|
+
# Our predominant style of writing multiline operations is
|
59
|
+
# to indent the subsequent lines. This helps to prevent
|
60
|
+
# misreading the next line as a new/separate statement.
|
61
|
+
#
|
62
|
+
# Introduced in: 9b2a744ab119d7797aaf423abcec914360f4208e
|
63
|
+
Layout/MultilineOperationIndentation:
|
64
|
+
EnforcedStyle: indented
|
65
|
+
|
66
|
+
# We should be consistent: if some items of an array are
|
67
|
+
# on multiple lines, then all items should be. This works
|
68
|
+
# better with the indentation Cops, produces clearer diffs,
|
69
|
+
# and avoids wasting time tweaking an arbitrary layout.
|
70
|
+
Layout/MultilineArrayLineBreaks:
|
71
|
+
Enabled: true
|
72
|
+
|
73
|
+
# We should be consistent: if some items of a hash are
|
74
|
+
# on multiple lines, then all items should be. This works
|
75
|
+
# better with the indentation Cops, produces clearer diffs,
|
76
|
+
# and avoids wasting time tweaking an arbitrary layout.
|
77
|
+
Layout/MultilineHashKeyLineBreaks:
|
78
|
+
Enabled: true
|
data/config/metrics.yml
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
2
|
+
#
|
3
|
+
# We should avoid cops that are based on heuristics, since
|
4
|
+
# it's not clear what action to take to fix an issue.
|
5
|
+
#
|
6
|
+
# For this Cop, there are also several kinds of file that
|
7
|
+
# have long blocks by convention (tests, config, rake tasks,
|
8
|
+
# gemspecs), to the point where its value is dubious.
|
9
|
+
Metrics/BlockLength:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
# Introduced in: 736b3d295f88b9ba6676fc168b823535582388c2
|
13
|
+
# "Disable opinionated cops"
|
14
|
+
#
|
15
|
+
# We should avoid cops that are based on heuristics, since
|
16
|
+
# it's not clear what action to take to fix an issue.
|
17
|
+
Metrics/AbcSize:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
# Introduced in: 736b3d295f88b9ba6676fc168b823535582388c2
|
21
|
+
# "Disable opinionated cops"
|
22
|
+
#
|
23
|
+
# We should avoid cops that are based on heuristics, since
|
24
|
+
# it's not clear what action to take to fix an issue.
|
25
|
+
Metrics/ClassLength:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
# Introduced in: 736b3d295f88b9ba6676fc168b823535582388c2
|
29
|
+
# "Disable opinionated cops"
|
30
|
+
#
|
31
|
+
# We should avoid cops that are based on heuristics, since
|
32
|
+
# it's not clear what action to take to fix an issue.
|
33
|
+
Metrics/ModuleLength:
|
34
|
+
Enabled: false
|
35
|
+
|
36
|
+
# Introduced in: 736b3d295f88b9ba6676fc168b823535582388c2
|
37
|
+
# "Disable opinionated cops"
|
38
|
+
#
|
39
|
+
# We should avoid cops that are based on heuristics, since
|
40
|
+
# it's not clear what action to take to fix an issue.
|
41
|
+
Metrics/PerceivedComplexity:
|
42
|
+
Enabled: false
|
43
|
+
|
44
|
+
# Introduced in: c69a7eb3af955d6c4c0cf0c3cec8e9f330c74429
|
45
|
+
#
|
46
|
+
# We should avoid cops that are based on heuristics, since
|
47
|
+
# it's not clear what action to take to fix an issue.
|
48
|
+
Metrics/BlockNesting:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
52
|
+
# "Disable opinionated cops"
|
53
|
+
#
|
54
|
+
# We should avoid cops that are based on heuristics, since
|
55
|
+
# it's not clear what action to take to fix an issue.
|
56
|
+
Metrics/CyclomaticComplexity:
|
57
|
+
Enabled: false
|
58
|
+
|
59
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
60
|
+
# "Disable opinionated cops"
|
61
|
+
#
|
62
|
+
# We should avoid cops that are based on heuristics, since
|
63
|
+
# it's not clear what action to take to fix an issue.
|
64
|
+
Metrics/MethodLength:
|
65
|
+
Enabled: false
|
66
|
+
|
67
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
68
|
+
# "Disable opinionated cops"
|
69
|
+
#
|
70
|
+
# We should avoid cops that are based on heuristics, since
|
71
|
+
# it's not clear what action to take to fix an issue.
|
72
|
+
Metrics/ParameterLists:
|
73
|
+
Enabled: false
|
data/config/naming.yml
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Conflicts with the original GDS styleguide
|
2
|
+
#
|
3
|
+
# While this may conflict with the original GDS styleguide, there
|
4
|
+
# are times where we wish to call a method that "sets" something.
|
5
|
+
#
|
6
|
+
# def set_political_and_government(edition)
|
7
|
+
#
|
8
|
+
# The original styleguide only accounts for a specific kind of "set"
|
9
|
+
# operation, where the argument is the value being assigned.
|
10
|
+
#
|
11
|
+
# Introduced in: c69a7eb3af955d6c4c0cf0c3cec8e9f330c74429
|
12
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#naming
|
13
|
+
Naming/AccessorMethodName:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
# We should be free to decide on interfaces that make sense to us.
|
17
|
+
# At the time of writing, this Cop is not auto-correctable, and
|
18
|
+
# would generate a prohibitively high number of issues across our
|
19
|
+
# repos, which would require manual intervention.
|
20
|
+
Naming/PredicateName:
|
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
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
##################### Rails ##################################
|
2
|
+
|
3
|
+
# By default Rails is switched off so this can be used by non-Rails apps,
|
4
|
+
# this can be enabled in a local .rubocop.yml file
|
5
|
+
|
6
|
+
require: rubocop-rails
|
7
|
+
|
8
|
+
AllCops:
|
9
|
+
Exclude:
|
10
|
+
- 'db/schema.rb'
|
11
|
+
- 'db/migrate/201*'
|
12
|
+
|
13
|
+
Rails:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
# We have custom find_by methods in several repos, which
|
17
|
+
# we're not going to rename. This Cop also raises false
|
18
|
+
# positives for find_by methods that are unrelated to model
|
19
|
+
# classes, as well as for repos using Mongoid. The value
|
20
|
+
# of the consistency this brings is limited, since we mostly
|
21
|
+
# use find_by(key: value) anyway.
|
22
|
+
#
|
23
|
+
# https://github.com/rubocop-hq/rubocop/issues/3758
|
24
|
+
Rails/DynamicFindBy:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
# We commonly print output in Ruby code that has been
|
28
|
+
# extracted from a Rake task in 'lib/'.
|
29
|
+
Rails/Output:
|
30
|
+
Exclude:
|
31
|
+
- 'lib/**/*.rb'
|
32
|
+
|
33
|
+
# It's unclear what remedial action to take for the total
|
34
|
+
# set of methods this Cop has issues with. For example, we
|
35
|
+
# use 'update_all' in many of our repos, for which there is
|
36
|
+
# no efficient alternative. Instead, we should only enable
|
37
|
+
# this Cop for methods that have a clear alternative.
|
38
|
+
Rails/SkipsModelValidations:
|
39
|
+
ForbiddenMethods:
|
40
|
+
- update_attribute
|
41
|
+
|
42
|
+
# While using has_many/through does have some advantages,
|
43
|
+
# it also requires a significant amount of boilerplate code:
|
44
|
+
#
|
45
|
+
# - An additional 'has_many :join_table' statement
|
46
|
+
# - An additional class for the join table (model)
|
47
|
+
#
|
48
|
+
# This Cop/rule appears to have been written with the
|
49
|
+
# assumption that all join tables have inherent meaning,
|
50
|
+
# we want to represent, which is not the case; sometimes
|
51
|
+
# relationships are just # many-to-many, and that's it.
|
52
|
+
Rails/HasAndBelongsToMany:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
# While using 'inverse_of' can reduce DB queries, we have
|
56
|
+
# not found this to be a problem in practice. The advantage
|
57
|
+
# of turning this on would be that we make the inverse
|
58
|
+
# behaviour explicit everywhere ActiveRecord can't apply it
|
59
|
+
# automatically, but this is rarely a surprise for developers.
|
60
|
+
# We also don't want to add 'inverse_of: false' everywhere;
|
61
|
+
# at the time of writing, there is no auto-correct for this.
|
62
|
+
Rails/InverseOf:
|
63
|
+
Enabled: false
|
64
|
+
|
65
|
+
# This is incompatible with the more robust use of foreign
|
66
|
+
# key constraints, which provide the same behaviour.
|
67
|
+
#
|
68
|
+
# Example: https://github.com/alphagov/content-publisher/blob/f26d9b551842fdf2084159b5b7f1bb078da56936/db/schema.rb#L396
|
69
|
+
Rails/HasManyOrHasOneDependent:
|
70
|
+
Enabled: false
|
71
|
+
|
72
|
+
# We commonly want to render HTML without escaping it, which
|
73
|
+
# is what 'html_safe' is for. In many cases, the content we
|
74
|
+
# render has already been sanitised (e.g. through Govspeak),
|
75
|
+
# or is otherwise trusted e.g. from a content item. We trust
|
76
|
+
# that developers will use 'html_safe' responsibly, and prefer
|
77
|
+
# the default, escaped output otherwise. At the time of writing,
|
78
|
+
# this Cop is disabled in a lot of repos, indicating it offers
|
79
|
+
# little value to many developers.
|
80
|
+
Rails/OutputSafety:
|
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/rake.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require: rubocop-rake
|
data/config/rspec.yml
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require: rubocop-rspec
|
2
|
+
|
3
|
+
inherit_from:
|
4
|
+
- capybara.yml
|
5
|
+
|
6
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
7
|
+
#
|
8
|
+
# We should avoid cops that are based on heuristics, since
|
9
|
+
# it's not clear what action to take to fix an issue.
|
10
|
+
RSpec/ExampleLength:
|
11
|
+
Enabled: false
|
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
|
+
|
18
|
+
# We have common cases, such as rake tasks, where we do not
|
19
|
+
# use a class to the describe the test.
|
20
|
+
RSpec/DescribeClass:
|
21
|
+
Enabled: false
|
22
|
+
|
23
|
+
# We accept multiple expectations (within reason), preferring
|
24
|
+
# them to running mulitple similar tests.
|
25
|
+
RSpec/MultipleExpectations:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
# Part of the GOV.UK feature style involves instance variables.
|
29
|
+
RSpec/InstanceVariable:
|
30
|
+
Exclude:
|
31
|
+
- 'spec/features/**/*.rb'
|
32
|
+
- 'spec/system/**/*.rb'
|
33
|
+
|
34
|
+
# In GOV.UK we quite often test that a class received a method.
|
35
|
+
RSpec/MessageSpies:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
39
|
+
#
|
40
|
+
# We should avoid cops that are based on heuristics, since
|
41
|
+
# it's not clear what action to take to fix an issue.
|
42
|
+
RSpec/NestedGroups:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
# Nested contexts make more sense with "and" or "but", since
|
46
|
+
# they are a refinement of an outer context.
|
47
|
+
RSpec/ContextWording:
|
48
|
+
Prefixes:
|
49
|
+
- when
|
50
|
+
- with
|
51
|
+
- without
|
52
|
+
- and
|
53
|
+
- but
|
data/config/style.yml
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
# https://github.com/alphagov/govuk-lint/pull/36
|
2
|
+
# "When we have sequence of if/unless statements,
|
3
|
+
# some with multiple lines within the if statement
|
4
|
+
# block and some with a single line, forcing the single
|
5
|
+
# line statements to re-written makes it a harder
|
6
|
+
# to follow the branching logic."
|
7
|
+
Style/IfUnlessModifier:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
# Part of the orignal GDS styleguide
|
11
|
+
# "Never chain do...end"
|
12
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#syntax
|
13
|
+
Style/MethodCalledOnDoEndBlock:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
# Part of the orignal GDS styleguide
|
17
|
+
# "Add a trailing comma to multi-line array [...]
|
18
|
+
# for clearer diffs with less line noise."
|
19
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#collections
|
20
|
+
Style/TrailingCommaInArrayLiteral:
|
21
|
+
EnforcedStyleForMultiline: comma
|
22
|
+
|
23
|
+
# Part of the orignal GDS styleguide
|
24
|
+
# "Add a trailing comma to multi-line hash definitions [...]
|
25
|
+
# for clearer diffs with less line noise."
|
26
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#collections
|
27
|
+
Style/TrailingCommaInHashLiteral:
|
28
|
+
EnforcedStyleForMultiline: comma
|
29
|
+
|
30
|
+
# Part of the orignal GDS styleguide
|
31
|
+
# "When long lists of method arguments require
|
32
|
+
# breaking over multiple lines, break each successive
|
33
|
+
# argument on a new line, including the first argument
|
34
|
+
# and closing paren. The final argument should include
|
35
|
+
# a trailing comma."
|
36
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#general
|
37
|
+
Style/TrailingCommaInArguments:
|
38
|
+
EnforcedStyleForMultiline: comma
|
39
|
+
|
40
|
+
# Part of the orignal GDS styleguide
|
41
|
+
# "Prefer %w to the literal array syntax when you need
|
42
|
+
# an array of strings."
|
43
|
+
# https://github.com/alphagov/styleguides/blob/6395a10d41c3938f4c147cda443fd83f854c3e7a/ruby.md#collections
|
44
|
+
Style/WordArray:
|
45
|
+
MinSize: 0
|
46
|
+
|
47
|
+
# "Try not to mix up single-quoted and double-quoted
|
48
|
+
# strings within a file: it can make the code harder to read.
|
49
|
+
# Definitely don't mix up single-quoted and double-quoted
|
50
|
+
# strings within a method. If in doubt, use double-quoted strings,
|
51
|
+
# because you’ll probably need to use interpolation somewhere.
|
52
|
+
Style/StringLiterals:
|
53
|
+
EnforcedStyle: double_quotes
|
54
|
+
|
55
|
+
# Introduced in: 5ca6b7d20fd62a6ce890868abdeca12837e436d7
|
56
|
+
# "The wording of the description is hard to understand - it's not
|
57
|
+
# immediately obvious what you have to do, and doesn't really say why
|
58
|
+
# this is a good thing.
|
59
|
+
#
|
60
|
+
# It's not auto-fixable, which means it takes a lot of time to get the
|
61
|
+
# syntax right for every occurrence of `%.2f` for example (taken from
|
62
|
+
# `smart-answers`) for not very much benefit."
|
63
|
+
Style/FormatStringToken:
|
64
|
+
Enabled: false
|
65
|
+
|
66
|
+
# Using the default style leads to buggy auto-correct in several
|
67
|
+
# repos that have their own 'format' method defined. While it's not
|
68
|
+
# ideal to override a standard/Kernel method, it's also not practical
|
69
|
+
# to change a term that's so deeply embedded within our domain.
|
70
|
+
#
|
71
|
+
# Related PR: https://github.com/alphagov/specialist-publisher/pull/1640
|
72
|
+
# Related PR: https://github.com/alphagov/publisher/pull/1268
|
73
|
+
Style/FormatString:
|
74
|
+
EnforcedStyle: sprintf
|
75
|
+
|
76
|
+
# This is a contentious issue, since 'alias_method' works in
|
77
|
+
# all circumstances, whereas 'alias' only works lexically. As
|
78
|
+
# with single vs. double quotes, it seems pointless to expend
|
79
|
+
# effort deciding between them. Our predominant style is to use
|
80
|
+
# 'alias_method', which always works.
|
81
|
+
Style/Alias:
|
82
|
+
EnforcedStyle: prefer_alias_method
|
83
|
+
|
84
|
+
# This prevents weird characters in comments, such as stylistic
|
85
|
+
# quote characters and strange whitespace. We should only allow
|
86
|
+
# special characters when they are essential for a comment. It's
|
87
|
+
# a waste of effort to go and find the special sequence when an
|
88
|
+
# alternative exists e.g. '×' can be replaced with '*' in maths.
|
89
|
+
Style/AsciiComments:
|
90
|
+
AllowedChars: ['£']
|
91
|
+
|
92
|
+
# We should only use braces in multiline blocks in a # chained
|
93
|
+
# method call. This is consistent with the RSpec 'expect' syntax.
|
94
|
+
#
|
95
|
+
# expect {
|
96
|
+
# a_long_and_complex_method_call
|
97
|
+
# }.to raise_error(SomeError)
|
98
|
+
#
|
99
|
+
Style/BlockDelimiters:
|
100
|
+
EnforcedStyle: braces_for_chaining
|
101
|
+
|
102
|
+
# We have no concensus on this. Using the nested style is the
|
103
|
+
# default for generated Rails app (see 'config/application.rb').
|
104
|
+
# Using the compact style can help to reduce boilerplate within
|
105
|
+
# modules. At the time of writing, the auto-correct for this Cop
|
106
|
+
# is unsafe for moving to either style.
|
107
|
+
Style/ClassAndModuleChildren:
|
108
|
+
Enabled: false
|
109
|
+
|
110
|
+
# Introduced in: c69a7eb3af955d6c4c0cf0c3cec8e9f330c74429
|
111
|
+
# Documenting every class is a lot of effort and we don't
|
112
|
+
# expect to get any value from this. Another risk of adding
|
113
|
+
# more documentation is the potential for confusion if that
|
114
|
+
# documentation gets out-of-sync with the class/module.
|
115
|
+
Style/Documentation:
|
116
|
+
Enabled: false
|
117
|
+
|
118
|
+
# Introduced in: c69a7eb3af955d6c4c0cf0c3cec8e9f330c74429
|
119
|
+
# This can lead to excessively long lines. Consistent with
|
120
|
+
# disabling "Layout/LineLength".
|
121
|
+
#
|
122
|
+
# "There are occasions where following this rule forces you to make the
|
123
|
+
# code less readable."
|
124
|
+
Style/GuardClause:
|
125
|
+
Enabled: false
|
126
|
+
|
127
|
+
# Analog of: 736b3d295f88b9ba6676fc168b823535582388c2
|
128
|
+
# "Disable opinionated cops"
|
129
|
+
#
|
130
|
+
# We should avoid cops that are based on heuristics, since
|
131
|
+
# it's not clear what action to take to fix an issue.
|
132
|
+
Style/RegexpLiteral:
|
133
|
+
Enabled: false
|
134
|
+
|
135
|
+
# Using safe navigation is less explicit than making a clear
|
136
|
+
# check for truthiness, as evidenced by its own safelist for
|
137
|
+
# certain methods. Safe navigation is also less visible and
|
138
|
+
# pollutes otherwise readable method calls.
|
139
|
+
Style/SafeNavigation:
|
140
|
+
Enabled: false
|
141
|
+
|
142
|
+
# Introduced in: b171d652d3e434b74ddc621df3b5be24c49bc7e8
|
143
|
+
# This cop was added in preperation for a Ruby feature
|
144
|
+
# that is no longer likely to become part of the language.
|
145
|
+
# https://github.com/rubocop-hq/rubocop/issues/7197
|
146
|
+
Style/FrozenStringLiteralComment:
|
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
|
156
|
+
|
157
|
+
# This rule conflicts with Style/BlockDelimiters.
|
158
|
+
# Style/MultilineBlockChain says use do...end instead of {...} for multi-line blocks,
|
159
|
+
# but Style/BlockDelimiters says use {...} instead of do...end when chaining.
|
160
|
+
# The latter should take priority over the former, because it leads to more readable code.
|
161
|
+
Style/MultilineBlockChain:
|
162
|
+
Enabled: false
|
metadata
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: publishing_platform_rubocop
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Publishing Platform
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-05-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '13'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.63.4
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.63.4
|
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.31.3
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.31.3
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop-rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.24.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.24.1
|
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.0
|
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.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.29.2
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.29.2
|
97
|
+
description: Shared RuboCop rules for publishing platform Ruby projects.
|
98
|
+
email:
|
99
|
+
executables: []
|
100
|
+
extensions: []
|
101
|
+
extra_rdoc_files: []
|
102
|
+
files:
|
103
|
+
- README.md
|
104
|
+
- config/capybara.yml
|
105
|
+
- config/default.yml
|
106
|
+
- config/layout.yml
|
107
|
+
- config/metrics.yml
|
108
|
+
- config/naming.yml
|
109
|
+
- config/rails.yml
|
110
|
+
- config/rake.yml
|
111
|
+
- config/rspec.yml
|
112
|
+
- config/style.yml
|
113
|
+
homepage:
|
114
|
+
licenses:
|
115
|
+
- MIT
|
116
|
+
metadata: {}
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options: []
|
119
|
+
require_paths:
|
120
|
+
- lib
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '3.0'
|
126
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
requirements: []
|
132
|
+
rubygems_version: 3.3.7
|
133
|
+
signing_key:
|
134
|
+
specification_version: 4
|
135
|
+
summary: RuboCop Publishing Platform
|
136
|
+
test_files: []
|