##################  duration.rb -- brent@mbari.org  #####################
# $Source: /home/cvs/ESP/gen2/software/esp/lib/duration.rb,v $
# $Id: duration.rb,v 1.2 2005/01/05 22:51:10 brent Exp $
#
#  The Duration class facilitates pretty printing counts
#  of seconds for delays
#
############################################################################

class Duration

  SecondsPerHour = 60*60
  
  def initialize seconds, minutes=0, hours=0
    @delay = seconds + 60*minutes + SecondsPerHour*hours
  end

  def seconds
    @delay % 60
  end
  
  def minutes  
    @delay.floor / 60 % 60
  end
  
  def hours
    @delay.floor / SecondsPerHour
  end
  
  def to_s
    s=''
    hrs = hours
    s<<"#{hrs}:" unless hrs == 0
    s<<"%02d:%05.2f" % [minutes, seconds]
  end
  alias_method :asIRBtext, :to_s
  
end
  
  
