Project

General

Profile

Actions

Feature #17022

closed

Addition of method Kernel#Date

Added by americodls (Americo Duarte) over 3 years ago. Updated over 3 years ago.

Status:
Third Party's Issue
Assignee:
-
Target version:
-
[ruby-core:99108]

Description

What if we have a method Kernel#Date that delegates to Date.parse? Dates could be written in a more natural way, right?

Date("2020-01-13") - Date("2019-01-13")

Capitalized methods are defined on the Kernel module to facilitate construction of basic types:

Kernel.methods.grep(/^[A-Z].*/)
#=> [:Rational, :Complex, :URI, :Integer, :Float, :String, :Array, :Hash, :Pathname]

Method BigDecimal is added when the corresponding library is required:

require 'bigdecimal'
Kernel.methods.grep(/^[A-Z].*/)
#=> [:Rational, :Complex, :BigDecimal, :URI, :Integer, :Float, :String, :Array, :Hash, :Pathname]

The proposal is to do the same; when we do require 'date', a method Kernel#Date should be added.

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Status changed from Open to Third Party's Issue

Please file at https://github.com/ruby/date.

IMHO, as Date.parse is too heuristic & magical for humans, I don't think we should encourage using it.

Actions #2

Updated by sawa (Tsuyoshi Sawada) over 3 years ago

  • Description updated (diff)

Updated by byroot (Jean Boussier) over 3 years ago

IMHO, as Date.parse is too heuristic & magical for humans

I agree, what about ISO-8601?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0