Easy on the eyes alternative to the Rails distance_of_time_in_words_to_now helper method.
Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.document
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION
date-casually.gemspec

README.rdoc

DateCasually

If you've always expected the Rails date helpers to say “Today”, “Yesterday” or “10 days ago” when asked about a specific date, then it's time to date casually.

I've never liked (and always seem to forget) the name of the Rails distance_of_time_in_words_to_now helper method. Additionally it doesn't handle obvious translations such as “today”, “tomorrow” or “yesterday” and doesn't determine if a date is in the future (“10 days from now”) or the past (“10 days ago”).

Quick Examples

Date.today.casual 
  #=> 'today'

(Date.today + 1).casual 
  #=> 'tomorrow'

(Date.today - 1).casual 
  #=> 'yesterday'

The :as option

If you'd like to change what increments of time DateCasually returns you can use the :as option.

(Date.today + 12).casual(:as => :days) 
  #=> '12 days from now'

You can also pass in multiple options:

(Date.today + 1).casual(:as => [ :months, :years ]) 
  #=> 'less than a month from now'

The default :as options for DatCasually are:

(Date.today + 1).casual(:as => [:days, :weeks, :months, :years])

If you'd change DateCasually globally, do this:

DateCasually::Config.as = :months, :years

i18n

DateCasually hooks into the i18n gem, but currently only supports English.

Dependencies

  • i18n

  • chronic (only used in the test suite)

  • timecop (only used in the test suite)