1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Add #on_weekday? method to Date, Time, and DateTime.

This commit is contained in:
Vipul A M 2016-02-15 18:16:51 +05:30
parent f800e00f9a
commit 02a9e03c35
4 changed files with 24 additions and 1 deletions

View file

@ -1,8 +1,16 @@
* Add `#on_weekday?` method to `Date`, `Time`, and `DateTime`.
`#on_weekday?` returns `true` if the receiving date/time does not fall on a Saturday
or Sunday.
*Vipul A M*
* Add `Array#second_to_last` and `Array#third_to_last` methods.
*Brian Christian*
* Fix regression in `Hash#dig` for HashWithIndifferentAccess.
*Jon Moss*
## Rails 5.0.0.beta2 (February 01, 2016) ##

View file

@ -51,6 +51,11 @@ module DateAndTime
WEEKEND_DAYS.include?(wday)
end
# Returns true if the date/time does not fall on a Saturday or Sunday.
def on_weekday?
!WEEKEND_DAYS.include?(wday)
end
# Returns a new date/time the specified number of days ago.
def days_ago(days)
advance(:days => -days)

View file

@ -301,6 +301,16 @@ module DateAndTimeBehavior
assert_not date_time_init(2015,1,5,15,15,10).on_weekend?
end
def test_on_weekday_on_sunday
assert_not date_time_init(2015,1,4,0,0,0).on_weekday?
assert_not date_time_init(2015,1,4,15,15,10).on_weekday?
end
def test_on_weekday_on_monday
assert date_time_init(2015,1,5,0,0,0).on_weekday?
assert date_time_init(2015,1,5,15,15,10).on_weekday?
end
def with_bw_default(bw = :monday)
old_bw = Date.beginning_of_week
Date.beginning_of_week = bw

View file

@ -705,7 +705,7 @@ Please refer to the [Changelog][active-support] for detailed changes.
* Changed the default test order from `:sorted` to `:random`.
([commit](https://github.com/rails/rails/commit/5f777e4b5ee2e3e8e6fd0e2a208ec2a4d25a960d))
* Added `#on_weekend?`, `#next_weekday`, `#prev_weekday` methods to `Date`,
* Added `#on_weekend?`, `#on_weekday?`, `#next_weekday`, `#prev_weekday` methods to `Date`,
`Time`, and `DateTime`.
([Pull Request](https://github.com/rails/rails/pull/18335))