-
Notifications
You must be signed in to change notification settings - Fork 118
/
.rubocop.yml
75 lines (64 loc) · 2.39 KB
/
.rubocop.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
require: rubocop-rails
AllCops:
TargetRubyVersion: 2.4
NewCops: enable
SuggestExtensions: false
Exclude:
- gemfiles/*
- tmp/*
- vendor/**/* # for github actions
Gemspec/DevelopmentDependencies: {Enabled: false}
Layout/ArgumentAlignment: {EnforcedStyle: with_fixed_indentation}
Layout/ParameterAlignment: {EnforcedStyle: with_fixed_indentation}
# Breaks
#
# I18n.t(key,
# param: val,
# # ...
# )
Layout/ClosingParenthesisIndentation: {Enabled: false}
Layout/DotPosition: {EnforcedStyle: trailing}
Layout/EmptyLineAfterGuardClause: {Enabled: false}
Layout/FirstParameterIndentation: {EnforcedStyle: consistent}
Layout/LineContinuationLeadingSpace: {Enabled: false}
Layout/LineEndStringConcatenationIndentation: {EnforcedStyle: indented}
Layout/LineLength: {Max: 100}
# Same as Layout/ClosingParenthesisIndentation
Layout/MultilineMethodCallBraceLayout: {Enabled: false}
Layout/MultilineMethodCallIndentation: {EnforcedStyle: indented}
Layout/MultilineOperationIndentation: {EnforcedStyle: indented}
Layout/SpaceInsideHashLiteralBraces: {EnforcedStyle: no_space}
# Offences named scopes and `expect {}.to change {}`.
Lint/AmbiguousBlockAssociation: {Enabled: false}
Lint/EmptyBlock:
Exclude:
- spec/**/*
Naming/FileName:
Exclude:
- lib/tasks/telegram-bot.rake
Naming/MethodParameterName: {MinNameLength: 2}
Naming/PredicateName: {Enabled: false}
Naming/RescuedExceptionsVariableName: {PreferredName: exception}
Naming/VariableNumber: {EnforcedStyle: snake_case}
Style/Alias: {Enabled: false}
Style/AndOr: {EnforcedStyle: conditionals}
Style/Documentation: {Enabled: false}
Style/IfUnlessModifier: {Enabled: false}
# Consistent to other definitions.
Style/EmptyMethod: {EnforcedStyle: expanded}
Style/Lambda: {EnforcedStyle: literal}
Style/ModuleFunction: {Enabled: false}
Style/NestedParenthesizedCalls: {Enabled: false}
Style/SignalException: {EnforcedStyle: only_raise}
Style/TrailingCommaInArguments: {Enabled: false}
Style/TrailingCommaInArrayLiteral: {EnforcedStyleForMultiline: comma}
Style/TrailingCommaInHashLiteral: {EnforcedStyleForMultiline: comma}
Metrics/AbcSize: {Max: 21}
# Other metrics are just enough.
# This one offences all specs, routes and some initializers.
Metrics/BlockLength: {Enabled: false}
Metrics/MethodLength: {Max: 30}
Metrics/CyclomaticComplexity: {Max: 8}
Rails/IndexWith: {Enabled: false}
Rails/RakeEnvironment: {Enabled: false}
Rails/ShortI18n: {Enabled: false}