-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.rubocop.yml
100 lines (78 loc) · 2.91 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Rspec用のrubocopの読み込み
require: rubocop-rspec
AllCops:
# Rubyのバージョン指定
TargetRubyVersion: 3.1.0
# 新しい cop を許可
NewCops: enable
# https://koic.hatenablog.com/entry/rubocop-1-5-has-been-released
SuggestExtensions: false
# クラス名Moduleの説明をなしでもOKとする
Style/Documentation:
Enabled: false
# 日本語でのコメントを許可
Style/AsciiComments:
Enabled: false
# メソッドの引数の文字数を2文字以上とする
Naming/MethodParameterName:
MinNameLength: 2
# 1行の長さのMAXを150文字とする
Layout/LineLength:
Max: 150
# メソッドの行数をコメントを除いて50行までとする
Metrics/MethodLength:
CountComments: true
Max: 50
# if文の実行結果が4行以上の場合にチェックするように設定する
Style/GuardClause:
MinBodyLength: 4
Style/IfUnlessModifier:
Enabled: false
# メソッドの複雑度を7→18に変更
# ※複雑度の計算方法は「https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/cop/metrics/perceived_complexity.rb」
Metrics/PerceivedComplexity:
Max: 18
# メソッドの循環的複雑度を6→15に変更
# ※循環的複雑度の計算方法は「https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/cop/metrics/cyclomatic_complexity.rb」
Metrics/CyclomaticComplexity:
Max: 15
# メソッドのABC sizeチェックの合計ポイントを15→40に変更
# ABC sizeチェックの計算方法は「https://github.com/rubocop-hq/rubocop/blob/master/lib/rubocop/cop/metrics/abc_size.rb」
Metrics/AbcSize:
Max: 40
# ブロックの長さの制限をRspecは除外する
# ※RspecはDSLのため1つのブロックで行数が増えてしまうのはしょうがないため
Metrics/BlockLength:
Max: 30
Exclude:
- 'spec/**/*'
# クラスの行数(コメントは除いて)を100→150に変更
Metrics/ClassLength:
Max: 150
# モジュールの行数(コメントは除いて)を100→150に変更
Metrics/ModuleLength:
Max: 150
# Rspec句のitの行数を5→10に変更
RSpec/ExampleLength:
Max: 10
# https://docs.rubocop.org/en/stable/cops_layout/#layoutspacearoundmethodcalloperator
Layout/SpaceAroundMethodCallOperator:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_lint/#lintraiseexception
Lint/RaiseException:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_lint/#lintstructnewoverride
Lint/StructNewOverride:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_style/#styleexponentialnotation
Style/ExponentialNotation:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_style/#stylehasheachmethods
Style/HashEachMethods:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformkeys
Style/HashTransformKeys:
Enabled: true
# https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformvalues
Style/HashTransformValues:
Enabled: true