module Clock
A simple clock utility for tracking and formatting time.
Definitions
def self.formatted_duration(duration)
Format a duration in seconds as a human readable string.
Signature
-
parameter
durationNumeric The duration in seconds.
-
returns
String The formatted duration.
Implementation
def self.formatted_duration(duration)
if duration < 60.0
return format("%.2fs", duration)
end
minutes = duration / 60.0
if minutes < 60.0
seconds = duration % 60
return format("%dm%02ds", minutes, seconds)
end
hours = minutes / 60.0
if hours < 24.0
minutes = minutes % 60
return format("%dh%02dm", hours, minutes)
end
days = hours / 24.0
if days < 100.0
hours = hours % 24
return format("%dd%02dh", days, hours)
end
return format("%dd", days)
end
def self.now
Signature
-
returns
Time The current monotonic time.
Implementation
def self.now
::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
end