class OpeningHoursConverter::PublicHoliday
Public Class Methods
armistice(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 62 def self.armistice(year = Time.now.year) Time.new(year, 11, 11) end
assomption(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 46 def self.assomption(year = Time.now.year) Time.new(year, 8, 15) end
bastille_day(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 66 def self.bastille_day(year = Time.now.year) Time.new(year, 7, 14) end
christmas(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 42 def self.christmas(year = Time.now.year) Time.new(year, 12, 25) end
days(days = 0)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 109 def self.days(days = 0) days * 24 * 60 * 60 end
easter(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 3 def self.easter(year = Time.now.year) # code from https://github.com/jrobertson/easter golden_number = (year % 19) + 1 if year <= 1752 # Julian calendar dominical_number = (year + (year / 4) + 5) % 7 paschal_full_moon = (3 - (11 * golden_number) - 7) % 30 else # Gregorian calendar dominical_number = (year + (year / 4) - (year / 100) + (year / 400)) % 7 solar_correction = (year - 1600) / 100 - (year - 1600) / 400 lunar_correction = (((year - 1400) / 100) * 8) / 25 paschal_full_moon = (3 - 11 * golden_number + solar_correction - lunar_correction) % 30 end dominical_number += 7 until dominical_number > 0 paschal_full_moon += 30 until paschal_full_moon > 0 paschal_full_moon -= 1 if (paschal_full_moon == 29) || ((paschal_full_moon == 28) && (golden_number > 11)) difference = (4 - paschal_full_moon - dominical_number) % 7 difference += 7 if difference < 0 day_easter = paschal_full_moon + difference + 1 if day_easter < 11 # Easter occurs in March. return Time.new(year, 3, day_easter + 21) else # Easter occurs in April. return Time.new(year, 4, day_easter - 10) end end
easter_monday(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 70 def self.easter_monday(year = Time.now.year) easter(year) + days(1) end
good_friday(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 74 def self.good_friday(year = Time.now.year) easter(year) - days(2) end
new_year(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 38 def self.new_year(year = Time.now.year) Time.new(year, 1, 1) end
pentecote(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 82 def self.pentecote(year = Time.now.year) easter(year) + days(49) end
pentecote_monday(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 86 def self.pentecote_monday(year = Time.now.year) easter(year) + days(50) end
ph_for_year(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 90 def self.ph_for_year(year = Time.now.year) ph = [] ph << new_year(year) ph << good_friday(year) ph << easter(year) ph << easter_monday(year) ph << work_day(year) ph << victory(year) ph << rise(year) ph << pentecote(year) ph << pentecote_monday(year) ph << bastille_day(year) ph << assomption(year) ph << toussaint(year) ph << armistice(year) ph << christmas(year) ph.sort end
rise(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 78 def self.rise(year = Time.now.year) easter(year) + days(39) end
toussaint(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 54 def self.toussaint(year = Time.now.year) Time.new(year, 11, 1) end
victory(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 58 def self.victory(year = Time.now.year) Time.new(year, 5, 8) end
work_day(year = Time.now.year)
click to toggle source
# File lib/opening_hours_converter/public_holiday.rb, line 50 def self.work_day(year = Time.now.year) Time.new(year, 5, 1) end