0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-09 21:45:25 +08:00
discourse/plugins/discourse-calendar/vendor/holidays/lib/generated_definitions/sg.rb
Alan Guo Xiang Tan e684acec6b
DEV: Add 2026 Singapore holidays (#40318)
The Singapore (`sg`) holiday definitions in the vendored `holidays` gem
only included 2025 entries for lunar and Islamic calendar holidays, so
dates like Hari Raya Haji (May 27) and Vesak Day (observed June 1) did
not resolve for 2026.

This commit refreshes the `sg` definitions with 2026 dates for Chinese
New Year, Hari Raya Puasa, Good Friday, Vesak Day, Hari Raya Haji, and
Deepavali based on the [Ministry of Manpower's published
list](https://www.mom.gov.sg/employment-practices/public-holidays), and
drops the 2025-only Polling Day entry. Vesak Day (May 31) and Deepavali
(Nov 8) fall on a Sunday in 2026, so both carry `to_weekday_if_weekend`
so the gem returns the in-lieu Monday.
2026-05-27 06:59:10 +08:00

35 lines
2.1 KiB
Ruby
Vendored

# encoding: utf-8
module Holidays
# This file is generated by the Ruby Holidays gem.
#
# Definitions loaded: definitions/sg.yaml
#
# All the definitions are available at https://github.com/holidays/holidays
module SG # :nodoc:
def self.defined_regions
[:sg]
end
def self.holidays_by_month
{
1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:sg]}],
2 => [{:mday => 17, :year_ranges => { :limited => [2026] },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "First day of Chinese New Year", :regions => [:sg]},
{:mday => 18, :year_ranges => { :limited => [2026] },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Second day of Chinese New Year", :regions => [:sg]}],
3 => [{:mday => 21, :year_ranges => { :limited => [2026] },:name => "Hari Raya Puasa", :regions => [:sg]}],
4 => [{:mday => 3, :year_ranges => { :limited => [2026] },:name => "Good Friday", :regions => [:sg]}],
5 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:sg]},
{:mday => 27, :year_ranges => { :limited => [2026] },:name => "Hari Raya Haji", :regions => [:sg]},
{:mday => 31, :year_ranges => { :limited => [2026] },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Vesak Day", :regions => [:sg]}],
8 => [{:mday => 9, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "National Day", :regions => [:sg]}],
11 => [{:mday => 8, :year_ranges => { :limited => [2026] },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Deepavali", :regions => [:sg]}],
12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:sg]}]
}
end
def self.custom_methods
{
}
end
end
end