Sha256: f7bfd7c2b05c8e01e41a0c9cca8abf8f314834f1568c02ee6d710b99bd5ff394

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 KB

Contents

module DBI
    #
    # Represents a Time
    #
    # DEPRECATED: Please use a regular Time or DateTime object.
   class Time
      attr_accessor :hour, :minute, :second

      private
      # DBI::Time.new(hour = 0, minute = 0, second = 0)
      # DBI::Time.new(Time)
      #
      # Creates and returns a new DBI::Time object.  Unlike the Time object
      # in the standard library, accepts an hour, minute and second, or a
      # Time object.
      def initialize(hour=0, minute=0, second=0)
         case hour
            when ::Time
               @hour, @minute, @second = hour.hour, hour.min, hour.sec
               @original_time = hour
            else
               @hour, @minute, @second = hour, minute, second
         end
      end

      public
      
      #deprecate :initialize, :public

      alias :min :minute
      alias :min= :minute=
      alias :sec :second
      alias :sec= :second=

      # Returns a new Time object based on the hour, minute and second, using
      # the current year, month and day.  If a Time object was passed to the
      # constructor, returns that object instead.
      def to_time
         if @original_time
            @original_time
         else
            t = ::Time.now
            ::Time.local(t.year, t.month, t.day, @hour, @minute, @second)
         end
      end

      # Returns a DBI::Time object as a string in HH:MM:SS format.
      def to_s
         sprintf("%02d:%02d:%02d", @hour, @minute, @second)
      end
   end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails-dbi-0.1.2 lib/dbi/utils/time.rb
rails-dbi-0.1.1 lib/dbi/utils/time.rb