-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.rubocop.yml
90 lines (71 loc) · 2.82 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
# Rspec用のrubocopの読み込み
require: rubocop-rspec
AllCops:
# Rubyのバージョン指定
TargetRubyVersion: 2.6.3
# 日本語でのコメントを許可
AsciiComments:
Enabled: false
# メソッドの引数の文字数を2文字以上とする
Naming/UncommunicativeMethodParamName:
MinNameLength: 2
# 1行の長さのMAXを150文字とする
Metrics/LineLength:
Max: 150
# メソッドの行数をコメントを除いて50行までとする
MethodLength:
CountComments: true
Max: 50
# if文の実行結果が4行以上の場合にチェックするように設定する
GuardClause:
MinBodyLength: 4
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
# MarshalLoad.load(dump)の使用を許可する
# コマンドラインツールのため、Marshal.loadを安全に使用できるため
Security/MarshalLoad:
Enabled: false
# ブロックコメントの使用を許可する
# ※spec_helper.rbでブロックコメントを使用しているのでとりあえず使用を許可しておく
Style/BlockComments:
Enabled: false
# ブロックの長さの制限を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
# 入れ子になったexampleの階層を3→4に変更
RSpec/NestedGroups:
Max: 4
# allow_any_instance_ofの使用を許可する
# ※あまり良くないがrubocop内のソースでも使用されているため
RSpec/AnyInstance:
Enabled: false
# 標準出力のテストをする時はoutputを使用するのが筋だが除外しているファイルは
# テスト用のものでは無くRspecを実行した時、標準出力されないようにするためのも
# のなので除外する
RSpec/ExpectOutput:
Exclude:
- 'spec/support/cli_spec_behavior.rb'