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

.date ⇒ Object

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

#inspect ⇒ Object

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