module ConcreteHolidays::Calculations::ClassMethods

Public Instance Methods

the_next(day_symbol, from_date) click to toggle source
# File lib/concrete_holidays/calculations.rb, line 29
def the_next(day_symbol, from_date)
  loop do
    from_date += 1
    break if from_date.wday == wday_from_symbol(day_symbol)
  end
  from_date
end
this_or_next(day_symbol, from_date) click to toggle source
# File lib/concrete_holidays/calculations.rb, line 24
def this_or_next(day_symbol, from_date)
  from_date += 1 until from_date.wday == wday_from_symbol(day_symbol)
  from_date
end
this_or_prev(day_symbol, from_date) click to toggle source
# File lib/concrete_holidays/calculations.rb, line 19
def this_or_prev(day_symbol, from_date)
  from_date -= 1 until from_date.wday == wday_from_symbol(day_symbol)
  from_date
end
to_weekday_if_weekend(date) click to toggle source
# File lib/concrete_holidays/calculations.rb, line 13
def to_weekday_if_weekend(date)
  date += 1 if date.wday == wday_from_symbol(:sun)
  date -= 1 if date.wday == wday_from_symbol(:sat)
  date
end
wday_from_symbol(symbol) click to toggle source
# File lib/concrete_holidays/calculations.rb, line 37
def wday_from_symbol(symbol)
  WDAY_SYMBOLS.fetch(symbol)
end