Sha256: 5844da1937ddafbf43e5882eec8473662577880c792dc156f465c493d8375bd6
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
# -*- coding: binary -*- module Rex ### # # Extended time related functions. # ### module ExtTime # # Convert seconds to a string that is broken down into years, days, hours, # minutes, and second. # def self.sec_to_s(seconds) parts = [ 31536000, 86400, 3600, 60, 1 ].map { |d| if ((c = seconds / d) > 0) seconds -= c.truncate * d c.truncate else 0 end }.reverse str = '' [ "sec", "min", "hour", "day", "year" ].each_with_index { |name, idx| next if (!parts[idx] or parts[idx] == 0) str = "#{parts[idx]} #{name + ((parts[idx] != 1) ? 's' :'')} " + str } str.empty? ? "0 secs" : str.strip end # # Converts a string in the form n years g days x hours y mins z secs. # def self.str_to_sec(str) fields = str.split(/ /) secs = 0 fields.each_with_index { |f, idx| val = 0 case f when /^year/ val = 31536000 when /^day/ val = 86400 when /^hour/ val = 3600 when /^min/ val = 60 when /^sec/ val = 1 end secs += val * fields[idx-1].to_i } secs end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
librex-0.0.68 | lib/rex/time.rb |
librex-0.0.66 | lib/rex/time.rb |