Bugs item #6413, was opened at 2006-10-30 20:44
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6413&group_id=426

Category: Language / Runtime / Core Libraries
Group: 1.8.x
>Status: Open
Resolution: Rejected
Priority: 3
Submitted By: David Wheeler (theory)
Assigned to: Shyouhei Urabe (shyouhei)
Summary: Some Time Constructors Fail to Call initialize

Initial Comment:
Some of the Time class constructor methods fail to call the initialize method in a subclass. For example, for this simple subclass:

class MyTime < Time
  def initialize
    puts "Hello world!"
  end
end

When I test it with the constructor methods, none of these outputs the print statement:

* at
* parse
* httpdate
* rfc2822
* rfc822
* local


----------------------------------------------------------------------

>Comment By: Ryan Davis (zenspider)
Date: 2007-05-29 19:00

Message:
I couldn't find matz's rejection on the ruby-core archives on blade. I found this: http://marc.info/?l=ruby-core&m=116228212521416&w=1 which says it was accepted and fixed. It doesn't appear to be so:

>> MyTime.parse("2007-01-02").class
=> Time

So... _should_ this be rejected? I don't think there is a good reason not to allow Time to be subclassed. It is immutable which makes it a little special, but I don't see that affecting subclassing.

----------------------------------------------------------------------

Comment By: David Wheeler (theory)
Date: 2007-05-29 16:47

Message:
Hrm. The rejection makes subclassing problematic. May I ask why?

Thanks!

David

----------------------------------------------------------------------

Comment By: Shyouhei Urabe (shyouhei)
Date: 2007-05-29 16:20

Message:
rejected by matz: [ruby-core:9361]

----------------------------------------------------------------------

Comment By: Ryan Davis (zenspider)
Date: 2006-11-01 23:11

Message:
This almost entirely goes through time_new_internal.

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6413&group_id=426