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
duration
Numeric
The duration in seconds.
-
returns
String
The formatted duration.
Implementation
def self.formatted_duration(duration)
if duration < 60.0
return "#{duration.round(2)}s"
end
duration /= 60.0
if duration < 60.0
return "#{duration.floor}m"
end
duration /= 60.0
if duration < 24.0
return "#{duration.floor}h"
end
duration /= 24.0
return "#{duration.floor}d"
end
def self.now
Signature
-
returns
Time
The current monotonic time.
Implementation
def self.now
::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
end