diff --git a/lib/time_ext/time.rb b/lib/time_ext/time.rb index 629895b..318732a 100644 --- a/lib/time_ext/time.rb +++ b/lib/time_ext/time.rb @@ -1,21 +1,23 @@ class Time + # Helper method for backwards compatibility with ActiveSupport. 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 } end + # Helper method for backwards compatibility with ActiveSupport. 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] 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) self.send("beginning_of_#{unit}") end alias :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) self.send("next_#{unit}").send("beginning_of_#{unit}") end @@ -29,46 +31,46 @@ class Time end alias :beginning_of_closest :round - # Short-hand for seconds_ago(1) + # Short-hand for seconds_ago(1). def prev_second ago(1) end alias :prev_sec :prev_second - # Short-hand for seconds_since(1) + # Short-hand for seconds_since(1). def next_second since(1) end alias :next_sec :next_second - # Short-hand for minutes_ago(1) + # Short-hand for minutes_ago(1). def prev_minute minutes_ago(1) end alias :prev_min :prev_minute - # Short-hand for minutes_since(1) + # Short-hand for minutes_since(1). def next_minute minutes_since(1) end alias :next_min :next_minute - # Short-hand for hours_ago(1) + # Short-hand for hours_ago(1). def prev_hour hours_ago(1) end - # Short-hand for hours_since(1) + # Short-hand for hours_since(1). def next_hour hours_since(1) end - # Short-hand for days_ago(1) + # Short-hand for days_ago(1). def prev_day days_ago(1) end - # Short-hand for days_since(1) + # Short-hand for days_since(1). def next_day days_since(1) end @@ -78,75 +80,75 @@ class Time weeks_ago(1).beginning_of_week.since(days_into_week[day].day).change(:hour => 0) end - # Short-hand for quarters_since(1).beginning_of_quarter + # Short-hand for quarters_since(1).beginning_of_quarter. def next_quarter quarters_since(1).beginning_of_quarter end - # Short-hand for quarters_ago(1).beginning_of_quarter + # Short-hand for quarters_ago(1).beginning_of_quarter. def prev_quarter quarters_ago(1).beginning_of_quarter 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 :seconds_ago :ago alias :secs_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) ago(minutes.minutes) end 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) since(minutes.minutes) end 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) ago(hours.hours) 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) since(hours.hours) 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) ago(days.days) 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) since(days.days) 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) ago(weeks.weeks) 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) since(weeks.weeks) 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) ago((quarters * 3).months) 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) since((quarters * 3).months) 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 change(:usec => 0) end @@ -154,13 +156,13 @@ class Time alias :at_beginning_of_sec :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 change(:usec => 999999.999) end 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 change(:sec => 0, :usec => 0) end @@ -168,19 +170,19 @@ class Time alias :at_beginning_of_min :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 change(:sec => 59, :usec => 999999.999) end 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 change(:min => 0, :sec => 0, :usec => 0) end 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 change(:min => 59, :sec => 59, :usec => 999999.999) end