Browse files

Merge pull request #14334 from kennym/master

Enhance readability of ActionView DateHelper#distance_of_time_in_words
  • Loading branch information...
2 parents 29bd586 + b5dc91d commit 740862a202a91f09d7d8bf93919e3fdc5ce0b75a @chancancode chancancode committed Mar 9, 2014
Showing with 8 additions and 4 deletions.
  1. +8 −4 actionview/lib/action_view/helpers/date_helper.rb
View
12 actionview/lib/action_view/helpers/date_helper.rb
@@ -19,6 +19,10 @@ module Helpers
# the <tt>select_month</tt> method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead
# of \date[month].
module DateHelper
+ MINUTES_IN_YEAR = 525600
+ MINUTES_IN_QUARTER_YEAR = 131400
+ MINUTES_IN_THREE_QUARTERS_YEAR = 394200
+
# Reports the approximate distance in time between two Time, Date or DateTime objects or integers as seconds.
# Pass <tt>include_seconds: true</tt> if you want more detailed approximations when distance < 1 min, 29 secs.
# Distances are reported based on the following table:
@@ -120,11 +124,11 @@ def distance_of_time_in_words(from_time, to_time = 0, options = {})
else
minutes_with_offset = distance_in_minutes
end
- remainder = (minutes_with_offset % 525600)
- distance_in_years = (minutes_with_offset.div 525600)
- if remainder < 131400
+ remainder = (minutes_with_offset % MINUTES_IN_YEAR)
+ distance_in_years = (minutes_with_offset.div MINUTES_IN_YEAR)
+ if remainder < MINUTES_IN_QUARTER_YEAR
locale.t(:about_x_years, :count => distance_in_years)
- elsif remainder < 394200
+ elsif remainder < MINUTES_IN_THREE_QUARTERS_YEAR
locale.t(:over_x_years, :count => distance_in_years)
else
locale.t(:almost_x_years, :count => distance_in_years + 1)

0 comments on commit 740862a

Please sign in to comment.