From: Michael N. <mne...@us...> - 2003-05-11 15:27:11
|
Update of /cvsroot/ruby-dbi/src/lib/dbi In directory sc8-pr-cvs1:/tmp/cvs-serv7455 Modified Files: dbi.rb Log Message: class Timestamp: - fraction nil by default - fractions may be of type float (as well as integer) - #to_s do not show fraction if it's nil Index: dbi.rb =================================================================== RCS file: /cvsroot/ruby-dbi/src/lib/dbi/dbi.rb,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- dbi.rb 9 May 2003 19:54:29 -0000 1.38 +++ dbi.rb 11 May 2003 15:27:09 -0000 1.39 @@ -298,15 +298,16 @@ class Timestamp attr_accessor :year, :month, :day attr_accessor :hour, :minute, :second, :fraction - def initialize(year=0, month=0, day=0, hour=0, minute=0, second=0, fraction=0) + + def initialize(year=0, month=0, day=0, hour=0, minute=0, second=0, fraction=nil) case year when ::Time @year, @month, @day = year.year, year.month, year.day - @hour, @minute, @second, @fraction = year.hour, year.min, year.sec, 0 + @hour, @minute, @second, @fraction = year.hour, year.min, year.sec, nil @original_time = year when ::Date @year, @month, @day = year.year, year.month, year.day - @hour, @minute, @second, @fraction = 0, 0, 0, 0 + @hour, @minute, @second, @fraction = 0, 0, 0, nil @original_date = year else @year, @month, @day = year, month, day @@ -314,6 +315,8 @@ end end + def fraction() @fraction || 0 end + def mon() @month end def mon=(val) @month=val end def mday() @day end @@ -324,7 +327,12 @@ def sec=(val) @second=val end def to_s - sprintf("%04d-%02d-%02d %02d:%02d:%02d.%06d", @year, @month, @day, @hour, @minute, @second, @fraction) + s = sprintf("%04d-%02d-%02d %02d:%02d:%02d", @year, @month, @day, @hour, @minute, @second) + if @fraction.nil? + s + else + s + '.' + @fraction.to_s.split('.').last + end end def to_time |