warning: circular argument reference を回避する

Nitrous.ioのRubyを2.2.0にバージョンアップしてから、
rails s したり bundle exec rake db:migrate したりしたときに、
以下のWARNINGが出るようになってしまいました。

/home/action/.gem/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/values/time_zone.rb:
285: warning: circular argument reference - now

WARNINGだからほっといても動くのですが、気持ち悪いので回避したいです。

原因

Ruby2.2で、デフォルト値付きメソッド引数の挙動変更があったそうです。

今回の場合は、time_zone.rbのparseメソッドの引数nowが問題になっていました。

def parse(str, now=now)
  …
end

↓ 引数をこうすればOK.

def parse(str, now=now())
  …
end

参考

Ruby2.2の変更点と新機能の紹介 [Ruby] All About

Bug #10314: Default argument lookup fails in Ruby 2.2 for circular shadowed variable names - Ruby trunk - Ruby Issue Tracking System

ruby2.2.0ではメソッドの引数のデフォルト値に同じ名前の変数を使えない - Qiita