Project

General

Profile

Actions

Bug #17556

closed

ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"

Added by zhang.shuttlerock (Yuki Snow) 11 months ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:102149]

Description

再現方法
ruby '2.7.2'
'rails', '~> 6.0.3'

  • 利用している ruby のバージョン(ruby -v) 2.7.2
  • 再現スクリプト
   $ bundle exec rails c
   [1] pry(main)> ::YAML.dump '20210101_'
   ArgumentError: invalid value for Integer(): "20210101_"
   from /Users/xxxx/.rbenv/versions/2.7.2/lib/ruby/2.7.0/psych/scalar_scanner.rb:104:in `Integer'
  • 再現方法から得られた結果
    '20210101_'や'2021__0101'は文字列ですので、elsif string.match?(INTEGER)分岐に入るのは良いかどうか不明ですが、
    整数として処理する場合、「,」だけは足りないでしょう。

    def parse_int string
      Integer(string.gsub(/[,]/, ''))
    end
    
  • 期待する結果とその理由
    エラーにならないように。

Actions #2

Updated by jeremyevans0 (Jeremy Evans) 10 months ago

  • Status changed from Open to Closed

Updated by kicktheken (Kenneth Chan) 10 months ago

Hello, when will this fix be available in the ruby 2.7 release branch?

Actions

Also available in: Atom PDF