Issue #6702 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to drbrain (Eric Hodel)

Hello,

This is caused by rubygems/specification:

  $ ruby -rrubygems/specification -e 'p Date; Date.today'
  Date
  -e:1:in `<main>': undefined method `today' for Date:Class (NoMethodError)

See: https://github.com/rubygems/rubygems/blob/62653cb808b7020eec98151445f4caf0812b01ce/lib/rubygems/specification.rb#L47


Eric, is this intentional?

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Bug #6702: Date should be either required or not
https://bugs.ruby-lang.org/issues/6702#change-27830

Author: rosenfeld (Rodrigo Rosenfeld Rosas)
Status: Assigned
Priority: Low
Assignee: drbrain (Eric Hodel)
Category: lib
Target version: 1.9.3
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]


Today I was trying to do some experiment with IRB: "Date.today" threw a NoMethodError.

But Date was defined: "defined? Date" == "constant".

If I explicitly required for "date" it worked, but this is pretty much weird. It would be better if either:

 - I got an undefined "Date" class instead
 - "date" was automatically required

The current state is pretty much misleading.

This also happens in JRuby, so I guess somehow this is an intended behavior, but it doesn't make any sense to me.


-- 
http://bugs.ruby-lang.org/