diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rwxr-xr-x | actionpack/lib/action_view/helpers/date_helper.rb | 2 | ||||
-rwxr-xr-x | actionpack/test/template/date_helper_test.rb | 8 |
3 files changed, 12 insertions, 0 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index b04a907782..f38f64c1ff 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Allow distance_of_time_in_words to work with any value that responds to #to_time (like dates) #969 + * Support :render option for :verify #1440 [TobiasLuetke] * Updated vendor copy of html-scanner lib to 0.5.1, for bug fixes and optimizations diff --git a/actionpack/lib/action_view/helpers/date_helper.rb b/actionpack/lib/action_view/helpers/date_helper.rb index 53bba0b217..6b1fbf7268 100755 --- a/actionpack/lib/action_view/helpers/date_helper.rb +++ b/actionpack/lib/action_view/helpers/date_helper.rb @@ -17,6 +17,8 @@ module ActionView # "about 1 hour". See the source for the complete wording list. #Set <tt>include_seconds</tt> to true if you want more detailed approximations if distance < 1 minute def distance_of_time_in_words(from_time, to_time, include_seconds = false) + from_time = from_time.to_time + to_time = to_time.to_time distance_in_minutes = ((to_time - from_time) / 60).round.abs distance_in_seconds = ((to_time - from_time)).round.abs diff --git a/actionpack/test/template/date_helper_test.rb b/actionpack/test/template/date_helper_test.rb index 43fccbdbdf..7ef45d2b1c 100755 --- a/actionpack/test/template/date_helper_test.rb +++ b/actionpack/test/template/date_helper_test.rb @@ -1,5 +1,6 @@ require 'test/unit' require File.dirname(__FILE__) + '/../../lib/action_view/helpers/date_helper' +require File.dirname(__FILE__) + "/../abstract_unit" class DateHelperTest < Test::Unit::TestCase include ActionView::Helpers::DateHelper @@ -31,6 +32,13 @@ class DateHelperTest < Test::Unit::TestCase assert_equal "less than 20 seconds", distance_of_time_in_words(Time.mktime(2004, 3, 6, 21, 41, 38), from, true) end + def test_distance_in_words_date + start_date = Date.new 1904, 1, 31 + end_date = Date.new 1906, 4, 17 + assert_not_equal("13 minutes", + distance_of_time_in_words(start_date, end_date)) + end + def test_select_day expected = %(<select name="date[day]">\n) expected << |