aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-06-14 15:19:03 +0000
committerJamis Buck <jamis@37signals.com>2005-06-14 15:19:03 +0000
commited7bfc96625d47ba5905628d458c2daef238f32a (patch)
treeac23101aea344f4c0d42b78d1ccd1de5224a7a4a /actionpack
parent3cb869eab6fec4b4310079af0409f6139ed7619c (diff)
downloadrails-ed7bfc96625d47ba5905628d458c2daef238f32a.tar.gz
rails-ed7bfc96625d47ba5905628d458c2daef238f32a.tar.bz2
rails-ed7bfc96625d47ba5905628d458c2daef238f32a.zip
Allow distance_of_time_in_words to work with any value that responds to #to_time (like dates) #969
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1420 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rwxr-xr-xactionpack/lib/action_view/helpers/date_helper.rb2
-rwxr-xr-xactionpack/test/template/date_helper_test.rb8
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 <<