invalid value for BigDecimal が Ruby 2.4から出るようになった
Ruby 2.3
まではBigdecimal
への変換を行う String#to_d
が数字ではない文字列だった場合にString#to_i
と同じ0.0
を返す仕様だったのに2.4
からは例外を吐くようになったようです。
Ruby 2.3
require 'bigdecimal'
require 'bigdecimal/util'
'abc'.to_d
#=> 0.0
Ruby 2.4
require 'bigdecimal'
require 'bigdecimal/util'
'abc'.to_d
ArgumentError: invalid value for BigDecimal(): "abc"
対策
バグでした。gem update bigdecimal
して、Gemfile
を設定しましょう。