Sha256: 6ec3f15df965f893a181d86d4058333c3c0033478632fe067aaffa8a9860f685

Contents?: true

Size: 430 Bytes

Versions: 3

Compression:

Stored size: 430 Bytes

Contents

module TaskReport
  class Duration
    attr_accessor :seconds

    def initialize(seconds)
      @seconds = seconds.floor
    end

    def to_s
      min, sec = @seconds.divmod(60)
      min %= 60
      hour, _ = @seconds.divmod(3600)

      result = []
      result << "#{hour} hours"  if hour > 0
      result << "#{min} mins"    if min > 0
      result << "#{sec} seconds" if sec > 0

      result.join(', ')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
task_report-0.6.4 lib/task_report/duration.rb
task_report-0.6.3 lib/task_report/duration.rb
task_report-0.5.3 lib/task_report/duration.rb