Sha256: 4937e97155f4a2efaf25d089bd04540f07e3f03c23c19c6e0bc29fc1c4415611

Contents?: true

Size: 1.45 KB

Versions: 5

Compression:

Stored size: 1.45 KB

Contents

class Numeric

  #format accepts (C-Capitalized, U-Uppercase, L-Lowercase)
  def to_yes_no(options={})
    (self == 1 || self == 1.0).to_yes_no(options)
  end

  #Assumes numeric value is in seconds
  def to_days_hours_minutes_seconds
    total_seconds = self.to_i

    days = total_seconds / 86400
    hours = (total_seconds / 3600) - (days * 24)
    minutes = (total_seconds / 60) - (hours * 60) - (days * 1440)
    seconds = total_seconds % 60

    display = ''
    display_concat = ''
    if days > 0
      display = display + display_concat + "#{days}d"
      display_concat = ' '
    end
    if hours > 0 || display.length > 0
      display = display + display_concat + "#{hours}h"
      display_concat = ' '
    end
    if minutes > 0 || display.length > 0
      display = display + display_concat + "#{minutes}m"
      display_concat = ' '
    end
    display = display + display_concat + "#{seconds}s"
    display
  end

  #Assumes numeric value is in seconds
  def to_hours_minutes(if_zero="")
    total_seconds = self.to_i

    return if_zero if total_seconds < 60

    hours = (total_seconds / 3600)
    minutes = (total_seconds / 60) - (hours * 60)

    display = ''
    display_concat = ''

    if hours > 0
      display = display + "#{hours}h"
      display_concat = ' '
    end
    if minutes > 0 || display.length > 0
      display = display + display_concat + "#{minutes}m"
    end
    display
  end
  
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
corelib-0.0.6 lib/corelib/numeric/core.rb
corelib-0.0.5 lib/corelib/numeric/core.rb
corelib-0.0.4 lib/corelib/numeric/core.rb
corelib-0.0.3 lib/corelib/numeric/core.rb
corelib-0.0.2 lib/corelib/numeric/core.rb