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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 415c6332117a5a409ab4aec3d5a32a3b788d4729
4
- data.tar.gz: b8e61590d43ded4f1c469724f5a0697450c852c4
2
+ SHA256:
3
+ metadata.gz: 66598ae9bb80df6b3408ba76bfd59adb921a09216b89dfda3722c0112cdd002b
4
+ data.tar.gz: 9d95b709699357d50dcc48031fc1c8540f616d88b116a6e0a85e2e91b65d01b1
5
5
  SHA512:
6
- metadata.gz: d454966509525576a4365d7830b4d3c47bb4693ba41e584a3e1eaeb66abbc91a66f15cb2d0aa682fc833894eddc1da59741f83849f6d67d656d63bf3a61d790c
7
- data.tar.gz: 2c2f9bc5d957532785958c3ee0f0260304f30368dbda231d949b045f8d153814b5b782b36ea7f2834ee23aaba40c7252f6e51f166f205b1b320dd60c4fd61e2c
6
+ metadata.gz: fd17625a485b3c935ae3115f371b5ee2ccfd99d0cc27ef1b80330196c8d6fe0429231ba18e442bc2ed4faf454cdcc80372f4597961db1ed15df09000487d540d
7
+ data.tar.gz: 4dd0f73aff4a6c74353d7064f48e3df65a921034c120559a68a5669777e2ae5912c7e5d310069db5637f832059c7fe70b4414abeeeadbe97ccc6da881b5c631b
@@ -1,3 +1,5 @@
1
+ require: rubocop-rails
2
+
1
3
  Rails:
2
4
  Enabled: true
3
5
 
@@ -6,3 +8,7 @@ Rails:
6
8
  Rails/NotNullColumn:
7
9
  Enabled: false
8
10
 
11
+ # bin/ 以下の実行ファイルではトップレベルで include できて良い
12
+ Style/MixinUsage:
13
+ Exclude:
14
+ - 'bin/*'
@@ -1,9 +1,13 @@
1
1
  require: "rubocop-rspec"
2
2
 
3
- # feature spec で scenario を使っても良い
4
- Capybara/FeatureMethods:
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:
@@ -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/SpaceInsideBrackets:
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
- Metrics/LineLength:
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/UnneededInterpolation:
223
+ Style/RedundantInterpolation:
202
224
  AutoCorrect: false
203
225
 
204
226
  # 条件式で arr.size > 0 が使われた時に
@@ -1,5 +1,5 @@
1
1
  module Retrieva
2
2
  module Cop
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.9"
4
4
  end
5
5
  end
@@ -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", "~> 0.50.0"
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.3
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: 2017-12-06 00:00:00.000000000 Z
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.50.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: 0.50.0
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
- rubyforge_project:
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.