Let's try something less controversial...
I can't use the 'ruby -w' any programs that use the Date module
included with ruby.
An example:
$ ruby -v
ruby 1.6.3 (2001-03-28) [i386-linux]
$ ruby -w
require "date"
Date.new(2003,3,4).cwyear
^D
(eval):4: warning: instance variable @__9569__ not initialized
(eval):4: warning: instance variable @__9041__ not initialized
$ /usr/local/bin/ruby -v
ruby 1.7.0 (2001-05-02) [i686-linux]
$ /usr/local/bin/ruby -w
require "date"
Date.new(2003,3,4).cwyear
^D
(eval):4: warning: instance variable @__9785__ not initialized
(eval):4: warning: instance variable @__9257__ not initialized
Those warning come anytime the library is used.
Suggestions:
I would love it if the builtin Time class included a 'parse' method
that worked like ParseDate, but did timezones correctly. As far as I
can tell you can't create a Time object with a zone other than local
or GMT. (*)
I also want to be able to get workweek and year from a Time. (cwday,
cweek in Date)
-Wayne
* I found this in the archives:
require 'parsedate'
class Time
def Time.parse( timestr )
year, month, day, hour, min, sec, zone, wday =
ParseDate.parsedate( timestr )
tm = Time.gm( year, month, day, hour, min, sec )
return tm unless zone
return tm if zone.to_i == 0
hour = zone[0,3].to_i * 3600
min = zone[3,2].to_i * 60
ofs = (hour + min)
return Time.at( tm.to_f - ofs )
end
end
Perhaps this should be added to parsedate.
It still fails in the timezone is a string.