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
|