ConsoleSourceConsoleClock

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