Home

Awesome

to_duration

Gem Version Build Status Coverage Status

A Ruby gem for converting seconds into human-readable format.

Installation

Add this line to your application's Gemfile:

gem 'to_duration'

And then execute:

$ bundle

Or install it yourself as:

$ gem install to_duration

Usage

Just call #to_duration method on any Numeric instance.

irb(main):001:0> 12345.to_duration
=> "3 hours, 25 minutes and 45 seconds"

irb(main):002:0> 1234567890.to_duration
=> "39 years, 1 month, 14 days, 5 hours, 31 minutes and 30 seconds"

irb(main):003:0> 1234567890.to_duration(weeks: true)
=> "39 years, 1 month, 2 weeks, 5 hours, 31 minutes and 30 seconds"

irb(main):004:0> 0.5.to_duration
=> "Less than one second"

#to_duration(options = {})

OptionTypeDefault
:yearsBooleantrue
:monthsBooleantrue
:weeksBooleanfalse
:daysBooleantrue
:hoursBooleantrue
:minutesBooleantrue
:secondsBooleantrue

Notice: Before version 1.2.0 these keys were singular.

Localization

The gem uses I18n for localization.

en: # Replace this key with your locale
  to_duration:
    and: and
    less_than_one_second: Less than one second
    year:
      one: year
      other: years
    month:
      one: month
      other: months
    week:
      one: week
      other: weeks
    day:
      one: day
      other: days
    hour:
      one: hour
      other: hours
    minute:
      one: minute
      other: minutes
    second:
      one: second
      other: seconds

If you're on Rails you may create config/locales/to_duration_#{locale}.yml file.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/digaev/to_duration.