Sha256: a68bf736fdc0b6e24c57ab4af6266b6d99a5c165d445cf107c413537db16c434
Contents?: true
Size: 760 Bytes
Versions: 1
Compression:
Stored size: 760 Bytes
Contents
require 'ruby-duration' class FormattedDuration WEEKS_FORMAT = '%w %~w' DAYS_FORMAT = '%d %~d' HOURS_FORMAT = '%h %~h' MINUTES_FORMAT = '%m %~m' def initialize(minutes) @minutes = minutes % 60 @hours = minutes / 60 @days = @hours / 24 @weeks = @days / 7 end def format weekless_days = @days % 7 dayless_hours = @hours % 24 output = [] output << Duration.new(weeks: @weeks).format(WEEKS_FORMAT) if @weeks != 0 output << Duration.new(days: weekless_days).format(DAYS_FORMAT) if weekless_days != 0 output << Duration.new(hours: dayless_hours).format(HOURS_FORMAT) if dayless_hours != 0 output << Duration.new(minutes: @minutes).format(MINUTES_FORMAT) if @minutes != 0 output.join(', ') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
duration-formatter-0.1.1 | lib/formatted_duration.rb |