unifacop 0.49.1.0 → 0.52.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e6794874824e26df487a552c89f232229793fcd
4
- data.tar.gz: d3dda778e1ec37f3c882315137462e4e5d3fba0f
3
+ metadata.gz: e1e7645fb07188ba90fbb7165f563caba945bdad
4
+ data.tar.gz: 7a2fedeafc6480154828bbf4fff11ed38fcbfd3c
5
5
  SHA512:
6
- metadata.gz: 340d3dae78c3a0ac5b384063e60861bf44bc91ff22cc7fec412c3bf74fa178c8c0a8a8c3dcbb6fd9b8f6aec846d32e978a910458bf1b15339b509301d7bf3837
7
- data.tar.gz: 01a8a9605452929520e4d8242d624e0b7cff9bddd829e2c55114898be7fb897cf8eaa10697a7e3a5f86f59bef9dbe36ce61c99e139c8e4edd3e8b56817add81d
6
+ metadata.gz: 38e7f4c59cabe8b8fb5057fcc05b6f0dbb9c42fe9b311a1a30ae0ee70b25738c57a23cb2f6119667e7cdc53dad67830f27fe4a2e8504d1e9941b4611150dbde0
7
+ data.tar.gz: e21c1d840095b3b15d68870ee69c9495a0695bf15ab01c1030a714b77b37face68ecaa831512b9e209604b05c8a3a5edced336705061a811b08bb5e946c90a22
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/config/rails.yml CHANGED
@@ -1,6 +1,29 @@
1
1
  Rails:
2
2
  Enabled: true
3
3
 
4
+ # onkcop参照
5
+ # > ActiveRecord で association を安易に delegate すると
6
+ # > N+1 を起こしまくるので、なるべく delegate 的なメソッドを使わずに
7
+ # > コストが掛かっていることを自覚できるようにしておきたい。
8
+ # > メソッドでも危ういが、DSL だと更に意識から抜けるので無効に。
9
+ Rails/Delegate:
10
+ Enabled: false
11
+
12
+ # onkcop参照
13
+ # > -File.join(Rails.root, "app", "models")
14
+ # > +Rails.root.join("app", "models")
15
+ # > はともかく
16
+ # > -Rails.root.join("app/models")
17
+ # > +Rails.root.join("app", "models")
18
+ # > は Pathname#plus が行っているので意味無いのでは?
19
+ Rails/FilePath:
20
+ Enabled: false
21
+
22
+ # 少しでもオプションつけるとすぐ引っかかってしまう。
23
+ # inverse_ofが必要かどうかは、bulletでN+1を検知してから対応としたい。
24
+ Rails/InverseOf:
25
+ Enabled: false
26
+
4
27
  # onkcop参照
5
28
  # > slug とか created_by とか、NOT NULL だが create_table 時に
6
29
  # > default 値を定義できないカラムは存在する。
@@ -11,3 +34,12 @@ Rails/NotNullColumn:
11
34
  # > valid? チェックし忘れを防ぎたい
12
35
  Rails/SaveBang:
13
36
  Enabled: true
37
+
38
+ # 多くの場合、staging環境は用意するのでデフォルトで追加。
39
+ # 他にもある場合、各プロジェクトで上書きしてもらう。
40
+ Rails/UnknownEnv:
41
+ Environments:
42
+ - development # rubocop default.yml
43
+ - test # rubocop default.yml
44
+ - production # rubocop default.yml
45
+ - staging
data/config/rspec.yml CHANGED
@@ -1,5 +1,10 @@
1
1
  require: 'rubocop-rspec'
2
2
 
3
+ # 日本語でcontextを書く場合、「〜の場合」と書くのでPrefixesでは対応できない。
4
+ # 英語と日本語が混じるケースでも対応が難しいので、各自の努力に任せる。
5
+ RSpec/ContextWording:
6
+ Enabled: false
7
+
3
8
  # onkcop参照
4
9
  # > subject はコピペ可搬性よりもそのまま USAGE であって欲しい
5
10
  # described_classより直接クラス名を参照する方が、使い方が見えやすくてよい。
data/config/rubocop.yml CHANGED
@@ -24,6 +24,10 @@ Layout/DotPosition:
24
24
  Enabled: true
25
25
  EnforcedStyle: leading
26
26
 
27
+ # 誤検知、誤修正が多い。安定するまで無効化。
28
+ Layout/EmptyLinesAroundArguments:
29
+ Enabled: false
30
+
27
31
  # onkcop参照
28
32
  # > special_inside_parentheses (default) と比べて
29
33
  # > * 横に長くなりづらい
@@ -149,10 +153,33 @@ Metrics/ParameterLists:
149
153
  Metrics/PerceivedComplexity:
150
154
  Max: 8
151
155
 
156
+ ## Naming
157
+ # http://rubocop.readthedocs.io/en/latest/cops_naming/
158
+
159
+ # onkcop参照
160
+ # > has_ から始まるメソッドは許可する
161
+ Naming/PredicateName:
162
+ NamePrefixBlacklist:
163
+ - 'is_'
164
+ - 'have_'
165
+ NamePrefix:
166
+ - 'is_'
167
+ - 'have_'
168
+
152
169
  ## Performance
153
170
  # https://rubocop.readthedocs.io/en/latest/cops_performance/
154
171
 
155
- # nothing to customize
172
+ # onkcop参照
173
+ # > downcase or upcase しての比較はイディオムの域なので、多少の
174
+ # > パフォーマンスの違いがあろうが casecmp に変える意義を感じない
175
+ Performance/Casecmp:
176
+ Enabled: false
177
+
178
+ # onkcop参照
179
+ # > 2.4 以降では each_key でも特にパフォーマンスに差が無いので
180
+ # > 読みやすさはほとんど変わらないし、書きやすさを取る。
181
+ Performance/HashEachMethods:
182
+ Enabled: false
156
183
 
157
184
  ## Security
158
185
  # https://rubocop.readthedocs.io/en/latest/cops_security/
@@ -238,6 +265,13 @@ Style/EmptyMethod:
238
265
  Style/Encoding:
239
266
  Enabled: true
240
267
 
268
+ # onkcop参照
269
+ # > strftime("%Y%m%d") の %d で引っかかる false positive がある。
270
+ # > また、url escape でも引っかかるらしい。
271
+ # > see: pull/5230, issues/5242
272
+ Style/FormatStringToken:
273
+ Enabled: false
274
+
241
275
  # onkcop参照
242
276
  # > if 文の中に 3 行程度のブロックを書くぐらいは許容した方が現実的
243
277
  # > NOTE: https://github.com/bbatsov/rubocop/commit/29945958034db13af9e8ff385ec58cb9eb464596
@@ -283,6 +317,16 @@ Style/MixinGrouping:
283
317
  Exclude:
284
318
  - 'spec/**/*'
285
319
 
320
+ # onkcop参照
321
+ # > この 2 つは単発で動かすのが分かっているので Object を汚染しても問題ない。
322
+ # > spec/dummy は Rails Engine を開発するときに絶対に引っかかるので入れておく。
323
+ Style/MixinUsage:
324
+ Exclude:
325
+ - 'bin/setup'
326
+ - 'bin/update'
327
+ - 'spec/dummy/bin/setup'
328
+ - 'spec/dummy/bin/update'
329
+
286
330
  # onkcop参照
287
331
  # > 1_000_000 と区切り文字が 2 個以上必要になる場合のみ _ 区切りを必須にする
288
332
  # > 10_000_00 は許可しない。(これは例えば 10000 ドルをセント単位にする時に便利だが
@@ -298,6 +342,12 @@ Style/NumericLiterals:
298
342
  Style/NumericPredicate:
299
343
  Enabled: false
300
344
 
345
+ # onkcop参照
346
+ # > false な場合という条件式の方を意識させたい場合がある。
347
+ # > Style/IfUnlessModifier と同じ雰囲気。
348
+ Style/OrAssignment:
349
+ Enabled: false
350
+
301
351
  # デフォルトでは %w[] が推奨だが、今いるメンバーでは %w() の方が合っているため
302
352
  # また %i() も %w() と統一感を取るため合わせる
303
353
  # %r{} はRubyStyleGuideの推奨を使用する。
@@ -316,16 +366,6 @@ Style/PercentLiteralDelimiters:
316
366
  Style/PerlBackrefs:
317
367
  AutoCorrect: false
318
368
 
319
- # onkcop参照
320
- # > has_ から始まるメソッドは許可する
321
- Style/PredicateName:
322
- NamePrefixBlacklist:
323
- - 'is_'
324
- - 'have_'
325
- NamePrefix:
326
- - 'is_'
327
- - 'have_'
328
-
329
369
  # onkcop参照
330
370
  # > Hash#has_key? の方が key? よりも意味が通る
331
371
  Style/PreferredHashMethods:
@@ -342,7 +382,14 @@ Style/RedundantSelf:
342
382
  Enabled: false
343
383
 
344
384
  # onkcop参照
345
- # > 無理して使うモンじゃない
385
+ # > user&.admin? が、[nil, true, false] の 3 値を返すことに一瞬で気づけず
386
+ # > boolean を返すっぽく見えてしまうので無効に。
387
+ # > user && user.admin? なら短絡評価で nil が返ってくるのが一目で分かるので。
388
+ # > (boolean を返すメソッド以外なら積極的に使いたいんだけどねぇ
389
+ #
390
+ # > 他に auto-correct してはいけないパターンとして
391
+ # > if hoge && hoge.count > 1
392
+ # > がある。
346
393
  Style/SafeNavigation:
347
394
  Enabled: false
348
395
 
data/exe/unifacop CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
4
5
 
data/lib/unifacop/cli.rb CHANGED
@@ -18,7 +18,7 @@ module UniFaCop
18
18
  puts "Could not find command #{action_name}."
19
19
  print_help
20
20
  exit(1)
21
- rescue => e
21
+ rescue StandardError => e
22
22
  puts e.message
23
23
  exit(1)
24
24
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UniFaCop
4
- VERSION = '0.49.1.0'.freeze
4
+ VERSION = '0.52.0.0'.freeze
5
5
  end
data/unifacop.gemspec CHANGED
@@ -21,9 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_runtime_dependency 'rubocop', '~> 0.49.1'
25
- # Latest rubocop-rspec supports since Ruby 2.1. But we want to use it on Ruby 2.0.
26
- spec.add_runtime_dependency 'rubocop-rspec', '>= 1.4.0'
24
+ spec.required_ruby_version = '>= 2.1.0'
25
+
26
+ spec.add_runtime_dependency 'rubocop', '~> 0.52.0'
27
+ spec.add_runtime_dependency 'rubocop-rspec', '>= 1.21.0'
27
28
  spec.add_development_dependency 'bundler'
28
29
  spec.add_development_dependency 'rake'
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unifacop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.49.1.0
4
+ version: 0.52.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - UniFa Co. Ltd.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-25 00:00:00.000000000 Z
11
+ date: 2018-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.49.1
19
+ version: 0.52.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.49.1
26
+ version: 0.52.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.0
33
+ version: 1.21.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.4.0
40
+ version: 1.21.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: 2.1.0
99
99
  required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.6.11
106
+ rubygems_version: 2.6.13
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: A rubocop configuration gem for UniFa Coding Style Guide.