[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>
Currently, ruby/spec is maintained mostly by individuals and enjoys the
13 messages
2016/12/13
[#78963] Re: ruby/spec needs help from CRuby committers
— Urabe Shyouhei <shyouhei@...>
2017/01/04
I did ask attendees of last developer meeting to join this
[#78642] Re: ruby/spec needs help from CRuby committers
— Eric Wong <normalperson@...>
2016/12/14
Benoit Daloze <eregontp@gmail.com> wrote:
[ruby-core:78826] [Ruby trunk Bug#12981] Date.parse raises an Argument error under a specific condition
From:
mailme@...
Date:
2016-12-25 08:21:30 UTC
List:
ruby-core #78826
Issue #12981 has been updated by Alfred Dominic.
I see a similar inconsistency in the `Date._parse` method. Everything works fine as expected as long as the `/` delimiter is used.
I think it has something to do with `_parse` being able to parse strings with delimiter and one without it.
~~~ ruby
Date._parse("2016/12/01")
=> {:year=>2016, :mon=>12, :mday=>1}
Date._parse("2016-12-01")
=> {:year=>2016, :mon=>12, :mday=>1}
Date._parse("2016/12")
=> {:year=>2016, :mon=>12}
Date._parse("2016-12")
=> {:mon=>20, :mday=>16, :zone=>"-12", :offset=>-43200}
~~~
----------------------------------------
Bug #12981: Date.parse raises an Argument error under a specific condition
https://bugs.ruby-lang.org/issues/12981#change-62235
* Author: Kenta SHIRAI
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Date.parse cannot accept incomplete strings whose delimiter is a hyphen like: "2016-12", although it can accept if a delimiter is a slash like: "2016/12"
I'm not really sure if this is a bug or an expected behavior, but a maintainer of rails/rails recommended me to report this to Ruby team when I issued a PR( https://github.com/rails/rails/pull/27181 ) to them. So I'd appreciate if this issue is looked into.
steps to reproduce:
~~~ ruby
require "date"
=> true
Date.parse("2016/12/01")
=> #<Date: 2016-12-01 ((2457724j,0s,0n),+0s,2299161j)>
Date.parse("2016-12-01")
=> #<Date: 2016-12-01 ((2457724j,0s,0n),+0s,2299161j)>
Date.parse("2016/12")
=> #<Date: 2016-12-01 ((2457724j,0s,0n),+0s,2299161j)>
Date.parse("2016-12")
ArgumentError: invalid date
from (irb):3:in `parse'
from (irb):3
from /usr/local/bin/irb:11:in `<main>'
~~~
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>