class Sequel::SQLTime
Time subclass that gets literalized with only the time value, so it
operates like a standard SQL time type. This type
does not support timezones, by design, so it will not work correctly with
time with time zone
types.
Attributes
date[W]
Set the date used for SQLTime instances.
Public Class Methods
create(hour, minute, second, usec = 0)
click to toggle source
Create a new SQLTime instance given an hour, minute, second, and usec.
# File lib/sequel/sql.rb, line 52 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
date()
click to toggle source
Use the date explicitly set, or the current date if there is not a date set.
# File lib/sequel/sql.rb, line 32 def date @date || now end
parse(*)
click to toggle source
Set the correct date and timezone when parsing times.
Calls superclass method
# File lib/sequel/sql.rb, line 37 def parse(*) t = super utc = Sequel.application_timezone == :utc d = @date if d || utc meth = utc ? :utc : :local d ||= t t = public_send(meth, d.year, d.month, d.day, t.hour, t.min, t.sec, t.usec) end t end
Public Instance Methods
inspect()
click to toggle source
Show that this is an SQLTime, and the time represented
# File lib/sequel/sql.rb, line 60 def inspect "#<#{self.class} #{to_s}>" end
to_s(*args)
click to toggle source
Return a string in HH:MM:SS format representing the time.
Calls superclass method
# File lib/sequel/sql.rb, line 65 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