Class: Date
- Inherits:
-
Object
- Object
- Date
- Defined in:
- lib/weekend_warrior.rb
Class Method Summary collapse
- .next_weekday(original_date = Date.today) ⇒ Object
- .previous_weekday(original_date = Date.today) ⇒ Object
- .weekday(original_date = Date.today) ⇒ Object
Instance Method Summary collapse
Class Method Details
.next_weekday(original_date = Date.today) ⇒ Object
58 59 60 61 62 63 |
# File 'lib/weekend_warrior.rb', line 58 def self.next_weekday(original_date = Date.today) weekdays = 1..5 result = original_date result += 1 until result > original_date && weekdays.member?(result.wday) result end |
.previous_weekday(original_date = Date.today) ⇒ Object
72 73 74 75 76 77 |
# File 'lib/weekend_warrior.rb', line 72 def self.previous_weekday(original_date = Date.today) weekdays = 1..5 result = original_date result -= 1 until result < original_date && weekdays.member?(result.wday) result end |
.weekday(original_date = Date.today) ⇒ Object
65 66 67 68 69 70 |
# File 'lib/weekend_warrior.rb', line 65 def self.weekday(original_date = Date.today) weekdays = 1..5 result = original_date result += 1 until result >= original_date && weekdays.member?(result.wday) result end |
Instance Method Details
#go_back_by_weekdays(num_days) ⇒ Object
90 91 92 93 94 95 96 97 98 99 |
# File 'lib/weekend_warrior.rb', line 90 def go_back_by_weekdays(num_days) past = self.dup num_days.times do past = self.class.previous_weekday(past) end past end |
#go_forward_by_weekdays(num_days) ⇒ Object
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/weekend_warrior.rb', line 79 def go_forward_by_weekdays(num_days) future = self.dup num_days.times do future = self.class.next_weekday(future) end future end |