In Files

Class/Module Index [+]

Quicksearch

Rex::ExtTime

Extended time related functions.

Public Class Methods

sec_to_s(seconds) click to toggle source

Convert seconds to a string that is broken down into years, days, hours, minutes, and second.

# File lib/rex/time.rb, line 14
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
str_to_sec(str) click to toggle source

Converts a string in the form n years g days x hours y mins z secs.

# File lib/rex/time.rb, line 38
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

[Validate]

Generated with the Darkfish Rdoc Generator 2.