Class: Sequel::SQLTime

Inherits:
Time show all
Defined in:
lib/sequel/sql.rb

Overview

Time subclass that gets literalized with only the time value, so it operates like a standard SQL time type.

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.dateObject

use the date explicitly set, or the current date if there is not a date set.



31
32
33
# File 'lib/sequel/sql.rb', line 31

def date
  @date || now
end

Class Method Details

.create(hour, minute, second, usec = 0) ⇒ Object

Create a new SQLTime instance given an hour, minute, second, and usec.



36
37
38
39
40
# File 'lib/sequel/sql.rb', line 36

def create(hour, minute, second, usec = 0)
  t = date
  meth = Sequel.application_timezone == :utc ? :utc : :local
  public_send(meth, t.year, t.month, t.day, hour, minute, second, usec)
end

Instance Method Details

#inspectObject

Show that this is an SQLTime, and the time represented



44
45
46
# File 'lib/sequel/sql.rb', line 44

def inspect
 "#<#{self.class} #{to_s}>"
end

#to_s(*args) ⇒ Object

Return a string in HH:MM:SS format representing the time.



49
50
51
52
53
54
55
56
57
# File 'lib/sequel/sql.rb', line 49

def to_s(*args)
  if args.empty?
    strftime('%H:%M:%S')
  else
    # Superclass may have defined a method that takes a format string,
    # and we shouldn't override in that case.
    super
  end
end