RuboCop 0.58.1 がリリースされた。
Parser gem 2.5.1.1 に以下の問題があったため、そのバージョンへの依存を回避するのがリリースのきっかけになっている。
% cat foo.rb class Foo < Bar end % ruby-parse --25 foo.rb foo.rb:2:1: error: unexpected token kEND foo.rb:2: end foo.rb:2: ^~~
この関係で Parser に依存する RuboCop で起きる問題を回避している。そのほかバグフィックスがいくつか入っているので、RuboCop 0.58.0 を使っているユーザーは問答無用で 0.58.1 にアップグレードをしておくと良い。
以下は自分の直したもの。
Bug fixes
#6086: Fix an error for Gemspec/OrderedDependencies when using method call to gem names in gemspec. (@koic)
以下のように add_development_dependency
の引数の Gem 名の文字列にメソッド呼び出しがあるケースがエラーになっていたのに対処した。
Gem::Specification.new do |spec| spec.add_development_dependency 'rspec'.freeze spec.add_development_dependency 'rubocop'.freeze end
再帰を使ってメソッドチェーンしているケースにも対応している。
#6088: Fix an error for Layout/MultilineAssignmentLayout cop when using multi-line block defines on separate lines. (@koic)
foo = -> { ...
といった代入のケースについて取り締まる Cop だが、以下のようにブロックでの代入がないケースについて RuboCop 0.58.0 でリグレッションが起きてエラーになっていたのを直した。
default_scope -> { where(foo: "bar") }
テストケースの隙間をぬったリグレッションだったので、不足していたテストケースを追加している (フィードバックのコードに基づいていたものの、例が default_scope
というのもあれなのだった) 。