Class: AeBankDays::BankDayHelper
- Inherits:
-
Object
- Object
- AeBankDays::BankDayHelper
- Defined in:
- lib/ae_bank_days/bank_day_helper.rb
Class Method Summary collapse
- .bank_day?(day) ⇒ Boolean
- .current_or_next_banking_day(day) ⇒ Object
- .current_or_previous_banking_day(day) ⇒ Object
- .next_banking_day(date, number_of_days: 0) ⇒ Object
- .previous_banking_day(date, number_of_days: 0) ⇒ Object
Class Method Details
.bank_day?(day) ⇒ Boolean
8 9 10 11 |
# File 'lib/ae_bank_days/bank_day_helper.rb', line 8 def bank_day?(day) date = day.to_date weekday?(date) && Holidays.on(date, :federalreservebanks, :observed).empty? end |
.current_or_next_banking_day(day) ⇒ Object
41 42 43 44 45 |
# File 'lib/ae_bank_days/bank_day_helper.rb', line 41 def current_or_next_banking_day(day) date = day.to_date date += 1 until bank_day?(date) date end |
.current_or_previous_banking_day(day) ⇒ Object
35 36 37 38 39 |
# File 'lib/ae_bank_days/bank_day_helper.rb', line 35 def current_or_previous_banking_day(day) date = day.to_date date -= 1 until bank_day?(date) date end |
.next_banking_day(date, number_of_days: 0) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ae_bank_days/bank_day_helper.rb', line 13 def next_banking_day(date, number_of_days: 0) banking_day = date.to_date banking_day += 1 number_of_days.times do banking_day = current_or_next_banking_day(banking_day) banking_day += 1 end current_or_next_banking_day(banking_day) end |
.previous_banking_day(date, number_of_days: 0) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ae_bank_days/bank_day_helper.rb', line 24 def previous_banking_day(date, number_of_days: 0) banking_day = date.to_date banking_day -= 1 number_of_days.times do banking_day = current_or_previous_banking_day(banking_day) banking_day -= 1 end current_or_previous_banking_day(banking_day) end |