class Baza::Dbtime

This class helps handeling time-columns in databases.

Attributes

hours[R]

These variables return information about the object.

mins[R]

These variables return information about the object.

secs[R]

These variables return information about the object.

total_secs[R]

These variables return information about the object.

Public Class Methods

new(args) click to toggle source

Initializes the object from arguments useually given by Baza::Datarow.

# File lib/baza/dbtime.rb, line 7
def initialize(args)
  args = {time: args} if args.is_a?(String)

  raise "Invalid arguments given: #{args}" unless args.is_a?(Hash)
  raise "No time given." unless args[:time]
  raise "Invalid time given: #{args[:time].class.name}" unless args[:time].is_a?(String)

  match = args[:time].match(/^(\d+):(\d+):(\d+)$/)
  raise "Could not understand time format." unless match

  @hours = match[1].to_i
  @mins = match[2].to_i
  @secs = match[3].to_i

  @total_secs = @hours * 3600
  @total_secs += @mins * 60
  @total_secs += @secs
end

Public Instance Methods

hours_total() click to toggle source

Returns the total amount of hours.

# File lib/baza/dbtime.rb, line 27
def hours_total
  (@total_secs.to_f / 3600)
end
mins_total() click to toggle source

Return the total amount of minutes.

# File lib/baza/dbtime.rb, line 32
def mins_total
  (@total_secs.to_f / 60)
end