-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi folks,

I've been trying for a while to subclass Time, but i'm hitting some
problems.  I tried simply overriding the methods in Time itself but
after about 5 minutes i realized that i needed the old behaviour as
well, so subclassing seems better.  I'm hitting the same problems with
wrapping the object as well.

I know this question has been asked before but as far as i can tell they
all seemed to deal with mutable objects (one notable example dealt with
Array which has a nice replace() method available to it)

Because Time is immutable, there are a ton of methods that return new
Time objects (class method parse, instance methods +, and - are the
notable ones since i'm interested in these).  So if i write:

class MyTime < Time
end

And do the following:

time = MyTime.parse("00:00:00") # returns Time
time = MyTime.now + 50.0        # returns Time

Now, i could reimplement these methods in MyTime to return MyTime
objects but I'm lost on how to do the conversion without something like
Array's replace() method.  If i had it then i could do:

class MyTime < Time

~  def MyTime.parse(str)
~    now.replace(Time::parse(str))
~  end

~  def +(other)
~    replace(Time::+(other))
~  end

end

or something along those lines.

Anyone have any tips?

Thanks,
Derek
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)

iD8DBQFCC2G5xPPkePIbSlwRAurHAJ90WXo/+bMwOD/AxQD7Nz3sUqvx9ACglIO5
EcR7mKvC2Zb4x3amefaWnl4=
=sYWa
-----END PGP SIGNATURE-----