Project

General

Profile

Bug #17556

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

Added by zhang.shuttlerock (Yuki Snow) about 2 months ago. Updated 11 days 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
    
  • 期待する結果とその理由
    エラーにならないように。

#2

Updated by jeremyevans0 (Jeremy Evans) 25 days ago

  • Status changed from Open to Closed

Updated by kicktheken (Kenneth Chan) 11 days ago

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

Also available in: Atom PDF