mirror of
https://github.com/jimeh/time_ext.git
synced 2026-02-19 13:26:39 +00:00
updated code comments
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user