retrieva-cop 0.1.3 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/config/rails.yml +6 -0
- data/config/rspec.yml +12 -2
- data/config/rubocop.yml +25 -3
- data/lib/retrieva/cop/version.rb +1 -1
- data/retrieva-cop.gemspec +2 -1
- metadata +21 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 66598ae9bb80df6b3408ba76bfd59adb921a09216b89dfda3722c0112cdd002b
|
4
|
+
data.tar.gz: 9d95b709699357d50dcc48031fc1c8540f616d88b116a6e0a85e2e91b65d01b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd17625a485b3c935ae3115f371b5ee2ccfd99d0cc27ef1b80330196c8d6fe0429231ba18e442bc2ed4faf454cdcc80372f4597961db1ed15df09000487d540d
|
7
|
+
data.tar.gz: 4dd0f73aff4a6c74353d7064f48e3df65a921034c120559a68a5669777e2ae5912c7e5d310069db5637f832059c7fe70b4414abeeeadbe97ccc6da881b5c631b
|
data/config/rails.yml
CHANGED
data/config/rspec.yml
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
require: "rubocop-rspec"
|
2
2
|
|
3
|
-
#
|
4
|
-
|
3
|
+
# 日本語だと「〜の場合」になるので suffix でないと対応できない
|
4
|
+
RSpec/ContextWording:
|
5
5
|
Enabled: false
|
6
6
|
|
7
|
+
# subject はコピペ可搬性よりもそのまま USAGE であって欲しい
|
8
|
+
RSpec/DescribedClass:
|
9
|
+
EnforcedStyle: explicit
|
10
|
+
|
7
11
|
# 短い subject は一行で書いて良い
|
8
12
|
RSpec/EmptyLineAfterSubject:
|
9
13
|
Enabled: false
|
@@ -22,6 +26,12 @@ RSpec/EmptyLineAfterFinalLet:
|
|
22
26
|
RSpec/ExampleLength:
|
23
27
|
Max: 8
|
24
28
|
|
29
|
+
# block の方がテスト対象が
|
30
|
+
# * `{}` の前後のスペースと相まって目立つ
|
31
|
+
# * 普段書く形と同じなので自然に脳内に入ってくる
|
32
|
+
RSpec/ExpectChange:
|
33
|
+
EnforcedStyle: block
|
34
|
+
|
25
35
|
# 変に名前つけて呼ぶ方が分かりづらい。
|
26
36
|
# テスト対象メソッドを呼ぶだけの subject 以外を書かないようにする方が効く。
|
27
37
|
RSpec/NamedSubject:
|
data/config/rubocop.yml
CHANGED
@@ -12,6 +12,7 @@ AllCops:
|
|
12
12
|
- "Capfile"
|
13
13
|
- "**/*.spec" # .spec file should be an RPM spec file not an RSpec file
|
14
14
|
DisplayCopNames: true
|
15
|
+
NewCops: enable
|
15
16
|
|
16
17
|
#################### Layout ################################
|
17
18
|
|
@@ -35,7 +36,7 @@ Layout/MultilineMethodCallIndentation:
|
|
35
36
|
EnforcedStyle: indented_relative_to_receiver
|
36
37
|
|
37
38
|
# Rails の生成するファイルに存在するので除外
|
38
|
-
Layout/
|
39
|
+
Layout/SpaceInsideArrayLiteralBrackets:
|
39
40
|
Exclude:
|
40
41
|
- "config/environments/*"
|
41
42
|
|
@@ -89,7 +90,7 @@ Metrics/CyclomaticComplexity:
|
|
89
90
|
# * 警告 120文字
|
90
91
|
# * 禁止 160文字
|
91
92
|
# のイメージ
|
92
|
-
|
93
|
+
Layout/LineLength:
|
93
94
|
Max: 160
|
94
95
|
|
95
96
|
# 20 行超えるのは migration ファイル以外滅多に無い
|
@@ -98,6 +99,19 @@ Metrics/MethodLength:
|
|
98
99
|
Exclude:
|
99
100
|
- "db/migrate/*.rb"
|
100
101
|
|
102
|
+
# 分岐の数。ガード句を多用しているとデフォルト 7 だと厳しい
|
103
|
+
Metrics/PerceivedComplexity:
|
104
|
+
Max: 8
|
105
|
+
|
106
|
+
#################### Naming ################################
|
107
|
+
|
108
|
+
# 3 文字未満だと指摘されるが、未使用を示す _ や e(rror), b(lock),
|
109
|
+
# n(umber) といった 1 文字変数は頻出するし、前置詞(by, to, ...)や
|
110
|
+
# よく知られた省略語 (op: operator とか pk: primary key とか) も妥当。
|
111
|
+
# 変数 s にどんな文字列かを形容したい場合と、不要な場合とがある=無効
|
112
|
+
Naming/MethodParameterName:
|
113
|
+
Enabled: false
|
114
|
+
|
101
115
|
#################### Style #################################
|
102
116
|
|
103
117
|
# redirect_to xxx and return のイディオムを維持したい
|
@@ -153,6 +167,10 @@ Style/HashSyntax:
|
|
153
167
|
Style/IfUnlessModifier:
|
154
168
|
Enabled: false
|
155
169
|
|
170
|
+
# scope 等は複数行でも lambda ではなく ->{} で揃えた方が見た目が綺麗
|
171
|
+
Style/Lambda:
|
172
|
+
EnforcedStyle: literal
|
173
|
+
|
156
174
|
# 特に model 内において、ローカル変数とメソッド呼び出しの区別をつけた方が分かりやすい場合が多い
|
157
175
|
Style/RedundantSelf:
|
158
176
|
Enabled: false
|
@@ -162,6 +180,10 @@ Style/RedundantSelf:
|
|
162
180
|
Style/RescueModifier:
|
163
181
|
AutoCorrect: false
|
164
182
|
|
183
|
+
# 無指定だと StandardError を rescue するのは常識の範疇なので。
|
184
|
+
Style/RescueStandardError:
|
185
|
+
EnforcedStyle: implicit
|
186
|
+
|
165
187
|
# Rubocop は %w[] を押すが、%w() で問題ないとする
|
166
188
|
Style/PercentLiteralDelimiters:
|
167
189
|
PreferredDelimiters:
|
@@ -198,7 +220,7 @@ Style/StringLiterals:
|
|
198
220
|
- "db/migrate/*"
|
199
221
|
|
200
222
|
# AutoCorrect すると .to_s するが、実際には .to_s が必要ない場合が多いので、手動で行う
|
201
|
-
Style/
|
223
|
+
Style/RedundantInterpolation:
|
202
224
|
AutoCorrect: false
|
203
225
|
|
204
226
|
# 条件式で arr.size > 0 が使われた時に
|
data/lib/retrieva/cop/version.rb
CHANGED
data/retrieva-cop.gemspec
CHANGED
@@ -20,7 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_dependency "rubocop", "
|
23
|
+
spec.add_dependency "rubocop", ">= 0.72"
|
24
|
+
spec.add_dependency "rubocop-rails", ">= 2.3.2"
|
24
25
|
spec.add_dependency "rubocop-rspec", ">= 1.18.0"
|
25
26
|
spec.add_development_dependency "bundler"
|
26
27
|
spec.add_development_dependency "rake"
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: retrieva-cop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kei Shiratsuchi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.72'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.72'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.3.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: 2.3.2
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rubocop-rspec
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
118
|
- !ruby/object:Gem::Version
|
105
119
|
version: '0'
|
106
120
|
requirements: []
|
107
|
-
|
108
|
-
rubygems_version: 2.6.11
|
121
|
+
rubygems_version: 3.1.2
|
109
122
|
signing_key:
|
110
123
|
specification_version: 4
|
111
124
|
summary: RetrievaCop is a RuboCop configuration gem.
|