Class: HolidayCo::CalculateHolidays::Movable
- Inherits:
-
Object
- Object
- HolidayCo::CalculateHolidays::Movable
- Defined in:
- lib/holiday_co/calculate_holidays/movable.rb
Constant Summary collapse
- MOVABLE_HOLIDAYS =
Holidays that are moved to the following Monday if they don"t fall on a Monday.
{ "Epifanía" => "%4s-01-06", "Día de San José" => "%4s-03-19", "San Pedro y San Pablo" => "%4s-06-29", "Día de la Virgen del Rosario de Chiquinquirá" => "%4s-07-09", "Asunción de la Virgen" => "%4s-08-15", "Día de la raza" => "%4s-10-12", "Todos los Santos" => "%4s-11-01", "Independencia de Cartagena" => "%4s-11-11" }
- EFFECTIVE_SINCE =
Holidays introduced after 1983, keyed by the first year they apply. Ley 2578 de 2026 declared the Día de la Virgen del Rosario de Chiquinquirá.
{ "Día de la Virgen del Rosario de Chiquinquirá" => 2026 }
Class Method Summary collapse
Class Method Details
.for(year) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/holiday_co/calculate_holidays/movable.rb', line 40 def self.for(year) MOVABLE_HOLIDAYS.filter_map do |holiday, date| next if year.to_i < EFFECTIVE_SINCE.fetch(holiday, 0) day = Date.parse(date % year) date = day.monday? ? day : day.next_monday { :name => holiday, :date => date.to_s } end end |