Skip to content

Commit

Permalink
Distance of time in words should work correct if from time > to_time
Browse files Browse the repository at this point in the history
  • Loading branch information
avakhov committed Apr 24, 2012
1 parent 0b05380 commit ff5b0d6
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
5 changes: 3 additions & 2 deletions actionpack/lib/action_view/helpers/date_helper.rb
Expand Up @@ -67,8 +67,9 @@ module DateHelper
def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false, options = {})
from_time = from_time.to_time if from_time.respond_to?(:to_time)
to_time = to_time.to_time if to_time.respond_to?(:to_time)
distance_in_minutes = (((to_time - from_time).abs)/60).round
distance_in_seconds = ((to_time - from_time).abs).round
from_time, to_time = to_time, from_time if from_time > to_time
distance_in_minutes = ((to_time - from_time)/60).round
distance_in_seconds = (to_time - from_time).round

I18n.with_options :locale => options[:locale], :scope => :'datetime.distance_in_words' do |locale|
case distance_in_minutes
Expand Down
1 change: 1 addition & 0 deletions actionpack/test/template/date_helper_test.rb
Expand Up @@ -125,6 +125,7 @@ def test_distance_in_words_with_dates
start_date = Date.new 1982, 12, 3
end_date = Date.new 2010, 11, 30
assert_equal("almost 28 years", distance_of_time_in_words(start_date, end_date))
assert_equal("almost 28 years", distance_of_time_in_words(end_date, start_date))
end

def test_distance_in_words_with_integers
Expand Down

0 comments on commit ff5b0d6

Please sign in to comment.