updated code comments

This commit is contained in:
2010-07-27 19:25:03 +03:00
parent 3aa6a73325
commit db341c6d46

View File

@@ -1,21 +1,23 @@
class Time class Time
# Helper method for backwards compatibility with ActiveSupport.
def days_into_week def days_into_week
defined?(DAYS_INTO_WEEK) ? DAYS_INTO_WEEK : { :monday => 0, :tuesday => 1, :wednesday => 2, :thursday => 3, :friday => 4, :saturday => 5, :sunday => 6 } defined?(DAYS_INTO_WEEK) ? DAYS_INTO_WEEK : { :monday => 0, :tuesday => 1, :wednesday => 2, :thursday => 3, :friday => 4, :saturday => 5, :sunday => 6 }
end end
# Helper method for backwards compatibility with ActiveSupport.
def common_year_days_in_month def common_year_days_in_month
defined?(COMMON_YEAR_DAYS_IN_MONTH) ? COMMON_YEAR_DAYS_IN_MONTH : [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] defined?(COMMON_YEAR_DAYS_IN_MONTH) ? COMMON_YEAR_DAYS_IN_MONTH : [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
end end
# Returns a new Time representing the start of the unit specified (second by default) # Returns a new Time representing the start of the unit specified (second by default).
def floor(unit = :sec) def floor(unit = :sec)
self.send("beginning_of_#{unit}") self.send("beginning_of_#{unit}")
end end
alias :beginning_of :floor alias :beginning_of :floor
alias :at_beginning_of :floor alias :at_beginning_of :floor
# Returns a new Time representing the start of the next unit specified (second by default) # Returns a new Time representing the start of the next unit specified (second by default).
def ceil(unit = :sec) def ceil(unit = :sec)
self.send("next_#{unit}").send("beginning_of_#{unit}") self.send("next_#{unit}").send("beginning_of_#{unit}")
end end
@@ -29,46 +31,46 @@ class Time
end end
alias :beginning_of_closest :round alias :beginning_of_closest :round
# Short-hand for seconds_ago(1) # Short-hand for seconds_ago(1).
def prev_second def prev_second
ago(1) ago(1)
end end
alias :prev_sec :prev_second alias :prev_sec :prev_second
# Short-hand for seconds_since(1) # Short-hand for seconds_since(1).
def next_second def next_second
since(1) since(1)
end end
alias :next_sec :next_second alias :next_sec :next_second
# Short-hand for minutes_ago(1) # Short-hand for minutes_ago(1).
def prev_minute def prev_minute
minutes_ago(1) minutes_ago(1)
end end
alias :prev_min :prev_minute alias :prev_min :prev_minute
# Short-hand for minutes_since(1) # Short-hand for minutes_since(1).
def next_minute def next_minute
minutes_since(1) minutes_since(1)
end end
alias :next_min :next_minute alias :next_min :next_minute
# Short-hand for hours_ago(1) # Short-hand for hours_ago(1).
def prev_hour def prev_hour
hours_ago(1) hours_ago(1)
end end
# Short-hand for hours_since(1) # Short-hand for hours_since(1).
def next_hour def next_hour
hours_since(1) hours_since(1)
end end
# Short-hand for days_ago(1) # Short-hand for days_ago(1).
def prev_day def prev_day
days_ago(1) days_ago(1)
end end
# Short-hand for days_since(1) # Short-hand for days_since(1).
def next_day def next_day
days_since(1) days_since(1)
end end
@@ -78,75 +80,75 @@ class Time
weeks_ago(1).beginning_of_week.since(days_into_week[day].day).change(:hour => 0) weeks_ago(1).beginning_of_week.since(days_into_week[day].day).change(:hour => 0)
end end
# Short-hand for quarters_since(1).beginning_of_quarter # Short-hand for quarters_since(1).beginning_of_quarter.
def next_quarter def next_quarter
quarters_since(1).beginning_of_quarter quarters_since(1).beginning_of_quarter
end end
# Short-hand for quarters_ago(1).beginning_of_quarter # Short-hand for quarters_ago(1).beginning_of_quarter.
def prev_quarter def prev_quarter
quarters_ago(1).beginning_of_quarter quarters_ago(1).beginning_of_quarter
end end
# Aliases to keep available method names to a standard pattern # Aliases to keep available method names to a standard pattern.
alias :secs_ago :ago alias :secs_ago :ago
alias :seconds_ago :ago alias :seconds_ago :ago
alias :secs_since :since alias :secs_since :since
alias :seconds_since :since alias :seconds_since :since
# Returns a new Time representing the time a number of specified minutes ago # Returns a new Time representing the time a number of specified minutes ago.
def minutes_ago(minutes) def minutes_ago(minutes)
ago(minutes.minutes) ago(minutes.minutes)
end end
alias :mins_ago :minutes_ago alias :mins_ago :minutes_ago
# Returns a new Time representing the time a number of specified minutes in the future # Returns a new Time representing the time a number of specified minutes in the future.
def minutes_since(minutes) def minutes_since(minutes)
since(minutes.minutes) since(minutes.minutes)
end end
alias :mins_since :minutes_since alias :mins_since :minutes_since
# Returns a new Time representing the time a number of specified hours ago # Returns a new Time representing the time a number of specified hours ago.
def hours_ago(hours) def hours_ago(hours)
ago(hours.hours) ago(hours.hours)
end end
# Returns a new Time representing the time a number of specified hours in the future # Returns a new Time representing the time a number of specified hours in the future.
def hours_since(hours) def hours_since(hours)
since(hours.hours) since(hours.hours)
end end
# Returns a new Time representing the time a number of specified days ago # Returns a new Time representing the time a number of specified days ago.
def days_ago(days) def days_ago(days)
ago(days.days) ago(days.days)
end end
# Returns a new Time representing the time a number of specified days in the future # Returns a new Time representing the time a number of specified days in the future.
def days_since(days) def days_since(days)
since(days.days) since(days.days)
end end
# Returns a new Time representing the time a number of specified weeks ago # Returns a new Time representing the time a number of specified weeks ago.
def weeks_ago(weeks) def weeks_ago(weeks)
ago(weeks.weeks) ago(weeks.weeks)
end end
# Returns a new Time representing the time a number of specified weeks in the future # Returns a new Time representing the time a number of specified weeks in the future.
def weeks_since(weeks) def weeks_since(weeks)
since(weeks.weeks) since(weeks.weeks)
end end
# Returns a new Time representing the time a number of specified quarters (3 months) ago # Returns a new Time representing the time a number of specified quarters (3 months) ago.
def quarters_ago(quarters) def quarters_ago(quarters)
ago((quarters * 3).months) ago((quarters * 3).months)
end end
# Returns a new Time representing the time a number of specified quarters (3 months) in the future # Returns a new Time representing the time a number of specified quarters (3 months) in the future.
def quarters_since(quarters) def quarters_since(quarters)
since((quarters * 3).months) since((quarters * 3).months)
end end
# Returns a new Time representing the start of the second, XX:XX:XX.000000 (.000000000 in ruby1.9) # Returns a new Time representing the start of the second, XX:XX:XX.000000 (.000000000 in ruby1.9).
def beginning_of_second def beginning_of_second
change(:usec => 0) change(:usec => 0)
end end
@@ -154,13 +156,13 @@ class Time
alias :at_beginning_of_sec :beginning_of_second alias :at_beginning_of_sec :beginning_of_second
alias :at_beginning_of_second :beginning_of_second alias :at_beginning_of_second :beginning_of_second
# Returns a new Time representing the end of the hour, XX:XX:XX.999999 (.999999999 in ruby1.9) # Returns a new Time representing the end of the hour, XX:XX:XX.999999 (.999999999 in ruby1.9).
def end_of_second def end_of_second
change(:usec => 999999.999) change(:usec => 999999.999)
end end
alias :end_of_sec :end_of_second alias :end_of_sec :end_of_second
# Returns a new Time representing the start of the minute (XX:XX:00) # Returns a new Time representing the start of the minute (XX:XX:00).
def beginning_of_minute def beginning_of_minute
change(:sec => 0, :usec => 0) change(:sec => 0, :usec => 0)
end end
@@ -168,19 +170,19 @@ class Time
alias :at_beginning_of_min :beginning_of_minute alias :at_beginning_of_min :beginning_of_minute
alias :at_beginning_of_minute :beginning_of_minute alias :at_beginning_of_minute :beginning_of_minute
# Returns a new Time representing the end of the hour, XX:XX:59.999999 (.999999999 in ruby1.9) # Returns a new Time representing the end of the hour, XX:XX:59.999999 (.999999999 in ruby1.9).
def end_of_minute def end_of_minute
change(:sec => 59, :usec => 999999.999) change(:sec => 59, :usec => 999999.999)
end end
alias :end_of_min :end_of_minute alias :end_of_min :end_of_minute
# Returns a new Time representing the start of the hour (XX:00:00) # Returns a new Time representing the start of the hour (XX:00:00).
def beginning_of_hour def beginning_of_hour
change(:min => 0, :sec => 0, :usec => 0) change(:min => 0, :sec => 0, :usec => 0)
end end
alias :at_beginning_of_hour :beginning_of_hour alias :at_beginning_of_hour :beginning_of_hour
# Returns a new Time representing the end of the hour, XX:59:59.999999 (.999999999 in ruby1.9) # Returns a new Time representing the end of the hour, XX:59:59.999999 (.999999999 in ruby1.9).
def end_of_hour def end_of_hour
change(:min => 59, :sec => 59, :usec => 999999.999) change(:min => 59, :sec => 59, :usec => 999999.999)
end end