class UncleKryon::TimespanData

Attributes

hours[RW]
mins[RW]
secs[RW]

Public Class Methods

new(time=nil) click to toggle source
# File lib/unclekryon/data/timespan_data.rb, line 22
def initialize(time=nil)
  @hours = 0
  @mins = 0
  @secs = 0

  if !time.nil? && !(time = time.strip).empty?
    time = time.gsub(/\A[^\(]+\(/,'') # "One hour 6 minutes - (66 minutes)"
    time = time.gsub(/[^[[:digit:]]\:\.]+/,'')
    a = time.split(/[\:\.]/)

    if a.length == 1
      @mins = a[0].to_i
    elsif a.length == 2
      @mins = a[0].to_i
      @secs = a[1].to_i
    elsif a.length >= 3
      @hours = a[0].to_i
      @mins = a[1].to_i
      @secs = a[2].to_i
    end

    if @secs >= 60
      @mins += (@secs / 60)
      @secs = @secs % 60
    end
    if @mins >= 60
      @hours += (@mins / 60)
      @mins = @mins % 60
    end
  end
end

Public Instance Methods

to_s() click to toggle source
# File lib/unclekryon/data/timespan_data.rb, line 54
def to_s
  return "#{@hours}:#{@mins}:#{@secs}"
end