Issue #13259 has been updated by Robert A. Heiler.


I have nothing against it per se but what happens to the Date namespace?

People may be confused when they see Date like the above that used to be part of the
require 'date' call, but now suddenly is part of Kernel.

On a side note though, not specific to the suggestion here, I think a more unified
and simpler way to handle time/date related code in ruby in general would be nice.

----------------------------------------
Feature #13259: Kernel#Date
https://bugs.ruby-lang.org/issues/13259#change-63254

* Author: Tsuyoshi Sawada
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I often see a piece of code like this:

```ruby
require "date"

begin
  Date.strptime(some_string, some_format)
rescue
  nil
end
```

Since we now have  (https://bugs.ruby-lang.org/issues/12732) `Kernel#Integer` with a parameter to avoid raising an error in case of an invalid string, I think that having a counterpart of it in `Date` would be convenient. I propose `Kernel#Date`, which works like `Date.strptime` except that it takes an optional keyword argument, and works as follows:

```ruby
Date("2017/02/02", "%Y/%m/%d", exception: nil) # => #<Date: 2017-02-02 ((2457787j,0s,0n),+0s,2299161j)>
Date("foo", exception: nil) # => nil
```



-- 
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>