README.md in time_will_tell-0.0.3 vs README.md in time_will_tell-0.1.0

- old
+ new

@@ -2,24 +2,107 @@ Specialized conversions of dates and times to strings. ## Installation -Add this line to your application's Gemfile: +Add `time_will_tell` to your Gemfile: gem 'time_will_tell' -And then execute: +### Install the default locale file - $ bundle +Run the generator to add the default locale file `time_will_tell.en.yml` to your `config/locales` directory: -Or install it yourself as: + $ rails generate time_will_tell:install - $ gem install time_will_tell - ## Usage -TODO: Write usage instructions here +`time_will_tell` offers 2 view helpers for dealing with dates. + +### exact_distance_of_time_in_words + +The similarity with [`distance_of_time_in_words`](http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-distance_of_time_in_words) is not a coincidence. Both methods share the a similar signature: + + exact_distance_of_time_in_words(from_time, to_time, options = {}) + + # => '2 hours 33 minutes' + # => '1 hour and a half' + # => '3 years 11 months and 21 seconds' + # => '1 month 15 days and 1 minute' + # => '1 day 2 hours and a half and 5 seconds' + # => 'half an hour' + +#### Options + +Displaying the seconds is optional and off by default. Use `include_seconds: true` to include them. + +You can also supply your own locale by specifying a locale `scope`. The default is `time_will_tell.distance_in_words`. + +#### Locales + +You can either replace the default locale strings or copy the structure under a different scope to be able to toggle between a default version and an alternate one. + +For example, the following scope would output + +``` +compact_distance_in_words: + template: "%{count}%{unit}" + template_long: "%{rest} %{last}" + + units: + second: s + minute: m + hour: h + day: d + month: M + year: Y + + special: + half_an_hour: 30m + and_a_half: 30m +``` + + exact_distance_of_time_in_words(from_time, to_time, scope: 'compact_distance_in_words') + # => '1d 2h 30m 5s' + +### date_range + +`date_range` simplifies displaying a date range in a brief format. + + # Oct 3 - 8, 2012 + # Jan 30 - Feb 5, 2013 + # Dec 26, 2012 - Jan 3, 2013 + +The output depends on whether the dates are on the same day, month and year. + +#### Options + +##### format + +You can choose to display the full month names by specifying `format: :long`. + + date_range(from_date, to_date, format: :long) + # January 30 - February 5, 2013 + +##### separator + +You can choose a different separator if you don't like this guy `-`. + + date_range(from_date, to_date, separator: 'to') + # Oct 3 to 8, 2012 + +##### show_year + +Sometimes you don't want the year to show up in the date range. + + date_range(from_date, to_date, show_year: false) + # Jan 30 - Feb 5 + +By default the year will always be shown. Also, if the dates are in different years, the years will be shown even if `show_year` is `false`. + +#### Locales + +Just as with `exact_distance_of_time_in_words` you can specify your own locale `scope`. ## Contributing 1. Fork it ( http://github.com/<my-github-username>/time_will_tell/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`)