module Holidays::NZ
def self.custom_methods
def self.custom_methods { "closest_monday(date)" => Proc.new { |date| 1, 2, 3, 4].include?(date.wday) te -= (date.wday - 1) f 0 == date.wday te += 1 te += 8 - date.wday vious_friday(date)" => Proc.new { |date| - 3 t_week(date)" => Proc.new { |date| + 7 ariki(year)" => Proc.new { |year| ariki_dates ||= { 2' => Date.civil(2022, 6, 24), 3' => Date.civil(2023, 7, 14), 4' => Date.civil(2024, 6, 28), 5' => Date.civil(2025, 6, 20), 6' => Date.civil(2026, 7, 10), 7' => Date.civil(2027, 6, 25), 8' => Date.civil(2028, 7, 14), 9' => Date.civil(2029, 7, 6), 0' => Date.civil(2030, 6, 21), 1' => Date.civil(2031, 7, 11), 2' => Date.civil(2032, 7, 2), 3' => Date.civil(2033, 6, 24), 4' => Date.civil(2034, 7, 7), 5' => Date.civil(2035, 6, 29), 6' => Date.civil(2036, 7, 18), 7' => Date.civil(2037, 7, 10), 8' => Date.civil(2038, 6, 25), 9' => Date.civil(2039, 7, 15), 0' => Date.civil(2040, 7, 6), 1' => Date.civil(2041, 7, 19), 2' => Date.civil(2042, 7, 11), 3' => Date.civil(2043, 7, 3), 4' => Date.civil(2044, 6, 24), 5' => Date.civil(2045, 7, 7), 6' => Date.civil(2046, 6, 29), 7' => Date.civil(2047, 7, 19), 8' => Date.civil(2048, 7, 3), 9' => Date.civil(2049, 6, 25), 0' => Date.civil(2050, 7, 15), 1' => Date.civil(2051, 6, 30), 2' => Date.civil(2052, 6, 21), ariki_dates[year.to_s] } end
def self.defined_regions
All the definitions are available at https://github.com/holidays/holidays
Definitions loaded: definitions/nz.yaml
This file is generated by the Ruby Holidays gem.
def self.defined_regions [:nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ne, :nz_ot, :nz_ta, :nz_sc, :nz_hb, :nz_mb, :nz_ca, :nz_ch, :nz_wl] end
def self.holidays_by_month
def self.holidays_by_month { 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:nz]}, {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:nz]}, {:function => "matariki(year)", :function_arguments => [:year], :name => "Matariki", :regions => [:nz]}], 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:nz]}, {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Day after New Year's Day", :regions => [:nz]}, {:mday => 17, :name => "Southland Anniversary Day", :regions => [:nz_sl]}, {:mday => 22, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Wellington Anniversary Day", :regions => [:nz_we]}, {:mday => 29, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Auckland Anniversary Day", :regions => [:nz_ak]}, {:mday => 29, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Northland Anniversary Day", :regions => [:nz_nl]}], 2 => [{:mday => 1, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Nelson Anniversary Day", :regions => [:nz_ne]}, {:mday => 6, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Waitangi Day", :regions => [:nz]}], 3 => [{:mday => 23, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Otago Anniversary Day", :regions => [:nz_ot]}, {:wday => 1, :week => 2, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Taranaki Anniversary Day", :regions => [:nz_ta]}], 4 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:nz]}], 6 => [{:wday => 1, :week => 1, :name => "Queen's Birthday", :regions => [:nz]}], 9 => [{:wday => 1, :week => 4, :name => "Dominion Day", :regions => [:nz_sc]}], 10 => [{:wday => 1, :week => 1, :observed => "previous_friday(date)", :observed_arguments => [:date], :name => "Hawke's bay Anniversary Day", :regions => [:nz_hb]}, {:wday => 1, :week => 4, :name => "Labour Day", :regions => [:nz]}, {:wday => 1, :week => 4, :observed => "next_week(date)", :observed_arguments => [:date], :name => "Marlborough Anniversary Day", :regions => [:nz_mb]}], 11 => [{:wday => 5, :week => 2, :name => "Canterbury Anniversary Day", :regions => [:nz_ca]}, {:mday => 30, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Chatham Island Anniversary Day", :regions => [:nz_ch]}], 12 => [{:mday => 1, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Westland Anniversary Day", :regions => [:nz_wl]}, {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:nz]}, {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:nz]}] } end