-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.rubocop.yml
More file actions
78 lines (62 loc) · 2.02 KB
/
Copy path.rubocop.yml
File metadata and controls
78 lines (62 loc) · 2.02 KB
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
76
77
78
plugins:
- rubocop-minitest
- rubocop-rake
AllCops:
TargetRubyVersion: 3.1
NewCops: enable
Exclude:
- "vendor/**/*"
- "pkg/**/*"
- "tmp/**/*"
# House style is double-quoted strings throughout.
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
# Documentation lives in prose comments and the README, not a mandated
# top-of-class comment.
Style/Documentation:
Enabled: false
# Endless methods read well for one-line readers and predicates, used widely.
Style/EndlessMethod:
EnforcedStyle: allow_single_line
# Value objects (Model, Message) legitimately take many keyword args; keyword
# arguments are self-documenting and should not count against the limit.
Metrics/ParameterLists:
CountKeywordArgs: false
Metrics/MethodLength:
Max: 40
CountAsOne: ["array", "hash", "heredoc"]
# Value-object aggregation (Usage#+) legitimately touches every field.
Metrics/AbcSize:
Max: 48
Metrics/ClassLength:
Max: 250
# Providers are wire adapters full of literal request/response hashes; count
# each literal as one line, the same way MethodLength does above.
CountAsOne: ["array", "hash", "heredoc"]
Exclude:
- "test/**/*.rb"
Metrics/ModuleLength:
Max: 250
# A heredoc is one string literal, counted as one line the same way
# MethodLength counts it; the verbatim summarizer prompts are data, not logic.
CountAsOne: ["array", "hash", "heredoc"]
Metrics/CyclomaticComplexity:
Max: 12
Metrics/PerceivedComplexity:
Max: 12
Layout/LineLength:
Max: 100
# Tests group related assertions about one behavior into a single, well-named
# case on purpose; that reads better than splintering one fact across cases.
Minitest/MultipleAssertions:
Enabled: false
# A provider seam method names its full keyword interface even when a given
# stub or override ignores some of it; the signature is the contract.
Lint/UnusedMethodArgument:
AllowUnusedKeywordArguments: true
Metrics/BlockLength:
Exclude:
- "test/**/*.rb"
- "*.gemspec"