holidays 4.7.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/CHANGELOG.md +9 -0
  4. data/CONTRIBUTING.md +21 -11
  5. data/Makefile +9 -6
  6. data/holidays.gemspec +1 -1
  7. data/lib/generated_definitions/MANIFEST +1 -0
  8. data/lib/generated_definitions/REGIONS.rb +1 -1
  9. data/lib/generated_definitions/hk.rb +112 -0
  10. data/lib/generated_definitions/kr.rb +4 -4
  11. data/lib/holidays/errors.rb +1 -0
  12. data/lib/holidays/finder/context/parse_options.rb +8 -3
  13. data/lib/holidays/load_all_definitions.rb +0 -11
  14. data/lib/holidays/version.rb +1 -1
  15. data/test/defs/test_defs_hk.rb +38 -0
  16. data/test/defs/test_defs_jp.rb +1 -0
  17. data/test/defs/test_defs_kr.rb +1 -1
  18. data/test/holidays/definition/validator/test_region.rb +4 -0
  19. data/test/holidays/finder/context/test_parse_options.rb +9 -1
  20. data/test/integration/test_all_regions.rb +4 -4
  21. data/test/integration/test_custom_holidays.rb +4 -4
  22. data/test/integration/test_holidays.rb +6 -6
  23. metadata +6 -60
  24. data/definitions/README.md +0 -353
  25. data/definitions/ar.yaml +0 -93
  26. data/definitions/at.yaml +0 -72
  27. data/definitions/au.yaml +0 -378
  28. data/definitions/be_fr.yaml +0 -69
  29. data/definitions/be_nl.yaml +0 -69
  30. data/definitions/bg.yaml +0 -127
  31. data/definitions/br.yaml +0 -77
  32. data/definitions/ca.yaml +0 -317
  33. data/definitions/ch.yaml +0 -193
  34. data/definitions/cl.yaml +0 -94
  35. data/definitions/cr.yaml +0 -65
  36. data/definitions/cz.yaml +0 -73
  37. data/definitions/de.yaml +0 -209
  38. data/definitions/dk.yaml +0 -130
  39. data/definitions/ecb_target.yaml +0 -44
  40. data/definitions/el.yaml +0 -84
  41. data/definitions/es.yaml +0 -203
  42. data/definitions/federal_reserve.yaml +0 -114
  43. data/definitions/fedex.yaml +0 -62
  44. data/definitions/fi.yaml +0 -115
  45. data/definitions/fr.yaml +0 -79
  46. data/definitions/gb.yaml +0 -151
  47. data/definitions/hr.yaml +0 -79
  48. data/definitions/hu.yaml +0 -63
  49. data/definitions/ie.yaml +0 -89
  50. data/definitions/index.yaml +0 -61
  51. data/definitions/is.yaml +0 -146
  52. data/definitions/it.yaml +0 -67
  53. data/definitions/jp.yaml +0 -321
  54. data/definitions/kr.yaml +0 -282
  55. data/definitions/li.yaml +0 -107
  56. data/definitions/lt.yaml +0 -89
  57. data/definitions/lu.yaml +0 -56
  58. data/definitions/ma.yaml +0 -52
  59. data/definitions/mx.yaml +0 -106
  60. data/definitions/my.yaml +0 -51
  61. data/definitions/nerc.yaml +0 -51
  62. data/definitions/nl.yaml +0 -73
  63. data/definitions/no.yaml +0 -90
  64. data/definitions/north_america_informal.yaml +0 -61
  65. data/definitions/nyse.yaml +0 -64
  66. data/definitions/nz.yaml +0 -163
  67. data/definitions/pe.yaml +0 -119
  68. data/definitions/ph.yaml +0 -94
  69. data/definitions/pl.yaml +0 -320
  70. data/definitions/pt.yaml +0 -89
  71. data/definitions/ro.yaml +0 -78
  72. data/definitions/se.yaml +0 -120
  73. data/definitions/sg.yaml +0 -56
  74. data/definitions/si.yaml +0 -86
  75. data/definitions/sk.yaml +0 -80
  76. data/definitions/united_nations.yaml +0 -189
  77. data/definitions/ups.yaml +0 -62
  78. data/definitions/us.yaml +0 -103
  79. data/definitions/ve.yaml +0 -74
  80. data/definitions/vi.yaml +0 -29
  81. data/definitions/za.yaml +0 -80
@@ -1,107 +0,0 @@
1
- # Liechtenstein holiday definitions for the Ruby Holiday gem.
2
- #
3
- # Updated: 2011-10-17.
4
- # Sources:
5
- # http://www.tourismus.li/de/navpage-RegionLI-InformationLI-44728.html
6
- ---
7
- months:
8
- 0:
9
- - name: Fasnachtsdienstag
10
- regions: [li]
11
- function: easter(year)
12
- function_modifier: -47
13
- - name: Karfreitag
14
- regions: [li]
15
- function: easter(year)
16
- function_modifier: -2
17
- - name: Ostern
18
- regions: [li]
19
- function: easter(year)
20
- type: informal
21
- - name: Ostermontag
22
- regions: [li]
23
- function: easter(year)
24
- function_modifier: 1
25
- - name: Auffahrt
26
- regions: [li]
27
- function: easter(year)
28
- function_modifier: 39
29
- - name: Pfingstmontag
30
- regions: [li]
31
- function: easter(year)
32
- function_modifier: 50
33
- - name: Fronleichnam
34
- regions: [li]
35
- function: easter(year)
36
- function_modifier: 60
37
- 1:
38
- - name: Neujahrstag
39
- regions: [li]
40
- mday: 1
41
- - name: Heilige Drei Könige
42
- regions: [li, li]
43
- mday: 6
44
- 2:
45
- - name: Maria Lichtmess
46
- regions: [li]
47
- mday: 2
48
- 3:
49
- - name: St. Josef
50
- regions: [li]
51
- mday: 19
52
- 5:
53
- - name: Tag der Arbeit
54
- regions: [li]
55
- mday: 1
56
- 8:
57
- - name: Staatsfeiertag
58
- regions: [li]
59
- mday: 15
60
- 9:
61
- - name: Maria Geburt
62
- regions: [li]
63
- mday: 8
64
- 11:
65
- - name: Allerheiligen
66
- regions: [li]
67
- mday: 1
68
- 12:
69
- - name: Maria Empfängnis
70
- regions: [li]
71
- mday: 8
72
- - name: Heilig Abend
73
- regions: [li]
74
- mday: 24
75
- - name: Weihnachten
76
- regions: [li]
77
- mday: 25
78
- - name: Stefanstag
79
- regions: [li]
80
- mday: 26
81
- - name: Silvester
82
- regions: [li]
83
- mday: 31
84
- tests: |
85
- {Date.civil(2009,1,1) => 'Neujahrstag',
86
- Date.civil(2011,3,8) => 'Fasnachtsdienstag',
87
- Date.civil(2009,4,10) => 'Karfreitag',
88
- Date.civil(2009,4,12) => 'Ostern',
89
- Date.civil(2009,4,13) => 'Ostermontag',
90
- Date.civil(2009,5,21) => 'Auffahrt',
91
- Date.civil(2009,6,1) => 'Pfingstmontag',
92
- Date.civil(2009,12,25) => 'Weihnachten',
93
- Date.civil(2009,12,26) => 'Stefanstag'}.each do |date, name|
94
- assert_equal name, Holidays.on(date, :li, :informal)[0][:name]
95
- end
96
-
97
- [:li].each do |r|
98
- assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
99
- end
100
-
101
- [:li].each do |r|
102
- assert_equal 'Staatsfeiertag', Holidays.on(Date.civil(2009,8,15), r)[0][:name]
103
- end
104
-
105
- [:li].each do |r|
106
- assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
107
- end
@@ -1,89 +0,0 @@
1
- # Lithuanian holiday definitions for the Ruby Holiday gem.
2
- #
3
- # Updated: 2014-10-02
4
- # Sources:
5
- # - http://en.wikipedia.org/wiki/Public_holidays_in_Lithuania
6
- # - http://day.lt/sventes/nedarbo
7
- ---
8
- months:
9
- 0:
10
- - name: Šv. Velykos
11
- regions: [lt]
12
- function: easter(year)
13
- - name: Antroji Velykų diena
14
- regions: [lt]
15
- function: easter(year)
16
- function_modifier: 1
17
- 1:
18
- - name: Naujieji metai
19
- regions: [lt]
20
- mday: 1
21
- 2:
22
- - name: Valstybės atkūrimo diena
23
- regions: [lt]
24
- mday: 16
25
- 3:
26
- - name: Nepriklausomybės atkūrimo diena
27
- regions: [lt]
28
- mday: 11
29
- 5:
30
- - name: Darbininkų diena
31
- regions: [lt]
32
- mday: 1
33
- 6:
34
- - name: Joninės
35
- regions: [lt]
36
- mday: 24
37
- 7:
38
- - name: Valstybės diena
39
- regions: [lt]
40
- mday: 6
41
- 8:
42
- - name: Žolinė
43
- regions: [lt]
44
- mday: 15
45
- 11:
46
- - name: Visų šventųjų diena
47
- regions: [lt]
48
- mday: 1
49
- 12:
50
- - name: Šv. Kūčios
51
- regions: [lt]
52
- mday: 24
53
- - name: Šv. Kalėdos
54
- regions: [lt]
55
- mday: 25
56
- - name: Antroji Kalėdų diena
57
- regions: [lt]
58
- mday: 26
59
- tests: |
60
- {Date.civil(2008,1,1) => 'Naujieji metai',
61
- Date.civil(2008,2,16) => 'Valstybės atkūrimo diena',
62
- Date.civil(2008,3,11) => 'Nepriklausomybės atkūrimo diena',
63
- Date.civil(2008,3,23) => 'Šv. Velykos',
64
- Date.civil(2008,3,24) => 'Antroji Velykų diena',
65
- Date.civil(2008,5,1) => 'Darbininkų diena',
66
- Date.civil(2008,6,24) => 'Joninės',
67
- Date.civil(2008,7,6) => 'Valstybės diena',
68
- Date.civil(2008,8,15) => 'Žolinė',
69
- Date.civil(2008,11,1) => 'Visų šventųjų diena',
70
- Date.civil(2008,12,24) => 'Šv. Kūčios',
71
- Date.civil(2008,12,25) => 'Šv. Kalėdos',
72
- Date.civil(2008,12,26) => 'Antroji Kalėdų diena'}.each do |date, name|
73
- assert_equal name, (Holidays.on(date, :lt)[0] || {})[:name]
74
- end
75
- {Date.civil(2012,1,1) => 'Naujieji metai',
76
- Date.civil(2012,2,16) => 'Valstybės atkūrimo diena',
77
- Date.civil(2012,3,11) => 'Nepriklausomybės atkūrimo diena',
78
- Date.civil(2012,4,8) => 'Šv. Velykos',
79
- Date.civil(2012,4,9) => 'Antroji Velykų diena',
80
- Date.civil(2012,5,1) => 'Darbininkų diena',
81
- Date.civil(2012,6,24) => 'Joninės',
82
- Date.civil(2012,7,6) => 'Valstybės diena',
83
- Date.civil(2012,8,15) => 'Žolinė',
84
- Date.civil(2012,11,1) => 'Visų šventųjų diena',
85
- Date.civil(2012,12,24) => 'Šv. Kūčios',
86
- Date.civil(2012,12,25) => 'Šv. Kalėdos',
87
- Date.civil(2012,12,26) => 'Antroji Kalėdų diena'}.each do |date, name|
88
- assert_equal name, (Holidays.on(date, :lt)[0] || {})[:name]
89
- end
@@ -1,56 +0,0 @@
1
- # Luxembourg holiday definitions for the Ruby Holiday gem.
2
- #
3
- # Updated: 2019-07-19.
4
- # Sources:
5
- # - https://en.wikipedia.org/wiki/Public_holidays_in_Luxembourg
6
- ---
7
- months:
8
- 0:
9
- - name: Ouschterméindeg
10
- regions: [lu]
11
- function: easter(year)
12
- function_modifier: 1
13
- - name: Christi Himmelfaart
14
- regions: [lu]
15
- function: easter(year)
16
- function_modifier: 39
17
- - name: Péngschtméindeg
18
- regions: [lu]
19
- function: easter(year)
20
- function_modifier: 49
21
- 1:
22
- - name: Neijoerschdag
23
- regions: [lu]
24
- mday: 1
25
- 6:
26
- - name: Nationalfeierdag
27
- regions: [lu]
28
- mday: 23
29
- 8:
30
- - name: Léiffrawëschdag
31
- regions: [lu]
32
- mday: 15
33
- 11:
34
- - name: Allerhellgen
35
- regions: [lu]
36
- mday: 1
37
- 12:
38
- - name: Chrëschtdag
39
- regions: [lu]
40
- mday: 25
41
- - name: Stiefesdag
42
- regions: [lu]
43
- mday: 26
44
- tests: |
45
- {Date.civil(2008,1,1) => 'Neijoerschdag',
46
- Date.civil(2008,3,24) => 'Ouschterméindeg',
47
- Date.civil(2008,5,1) => 'Christi Himmelfaart', # Ascension, Easter+39
48
- Date.civil(2008,6,23) => 'Nationalfeierdag',
49
- Date.civil(2008,8,15) => 'Léiffrawëschdag',
50
- Date.civil(2008,11,1) => 'Allerhellgen',
51
- Date.civil(2008,12,25) => 'Chrëschtdag',
52
- Date.civil(2008,12,26) => 'Stiefesdag',
53
- Date.civil(2008,5,11) => 'Péngschtméindeg'
54
- }.each do |date, name|
55
- assert_equal name, (Holidays.on(date, :lu, :informal)[0] || {})[:name]
56
- end
@@ -1,52 +0,0 @@
1
- # Morocco holiday (incomplete)definitions for the Ruby Holiday gem.
2
- #
3
- # Updated: 2013-07-01.
4
- # Some dates in Islamic Calendar are missing.
5
- # Sources:
6
- # - http://en.wikipedia.org/wiki/Public_holidays_in_Morocco
7
- ---
8
- months:
9
- 1:
10
- - name: Ras l' âm
11
- regions: [ma]
12
- mday: 1
13
- - name: Takdim watikat al-istiqlal
14
- regions: [ma]
15
- mday: 11
16
- 5:
17
- - name: Eid Ash-Shughl
18
- regions: [ma]
19
- mday: 1
20
- 7:
21
- - name: Eid Al-Ârch
22
- regions: [ma]
23
- mday: 30
24
- 8:
25
- - name: Zikra Oued Ed-Dahab
26
- regions: [ma]
27
- mday: 14
28
- - name: Thawrat al malik wa shâab
29
- regions: [ma]
30
- mday: 20
31
- - name: Eid Al Milad
32
- regions: [ma]
33
- mday: 21
34
- 11:
35
- - name: Eid Al Massira Al Khadra
36
- regions: [ma]
37
- mday: 6
38
- - name: Eid Al Istiqulal
39
- regions: [ma]
40
- mday: 18
41
- tests: |
42
- {Date.civil(2007,1,1) => 'Ras l\' âm',
43
- Date.civil(2007,1,11) => 'Takdim watikat al-istiqlal',
44
- Date.civil(2007,5,1) => 'Eid Ash-Shughl',
45
- Date.civil(2007,7,30) => 'Eid Al-Ârch',
46
- Date.civil(2007,8,14) => 'Zikra Oued Ed-Dahab',
47
- Date.civil(2007,8,20) => 'Thawrat al malik wa shâab',
48
- Date.civil(2007,8,21) => 'Eid Al Milad',
49
- Date.civil(2007,11,6) => 'Eid Al Massira Al Khadra',
50
- Date.civil(2007,11,18) => 'Eid Al Istiqulal'}.each do |date, name|
51
- assert_equal name, (Holidays.on(date, :ma, :informal)[0] || {})[:name]
52
- end
@@ -1,106 +0,0 @@
1
- # Mexican holiday definitions for the Ruby Holiday gem.
2
- # Updated 2008-12-05.
3
- # Sources:
4
- # - http://www.britishembassy.gov.uk/servlet/Front?pagename=OpenMarket/Xcelerate/ShowPage&c=Page&cid=1125561634963
5
- # - http://www.usembassy-mexico.gov/eng/holidays.html
6
- ---
7
- months:
8
- 1:
9
- - name: Año nuevo
10
- regions: [mx]
11
- mday: 1
12
- - name: Dia de los Santos Reyes
13
- regions: [mx]
14
- mday: 6
15
- 2:
16
- - name: Día de la Constitución
17
- week: 1
18
- regions: [mx]
19
- wday: 1
20
- 3:
21
- - name: Natalicio de Benito Juárez
22
- week: 3
23
- regions: [mx]
24
- wday: 1
25
- 4:
26
- - name: Día del Niño
27
- regions: [mx]
28
- mday: 30
29
- type: informal
30
- 5:
31
- - name: Día del Trabajo
32
- regions: [mx]
33
- mday: 1
34
- - name: Cinco de Mayo
35
- regions: [mx]
36
- mday: 5
37
- type: informal
38
- - name: La Batalla de Puebla
39
- regions: [mx_pue]
40
- mday: 5
41
- - name: Día de la Madre
42
- regions: [mx]
43
- mday: 10
44
- type: informal
45
- - name: Día del Maestro
46
- regions: [mx]
47
- mday: 15
48
- type: informal
49
- 6:
50
- - name: Día del Padre
51
- regions: [mx]
52
- wday: 0
53
- week: 3
54
- type: informal
55
- 9:
56
- - name: Grito de Dolores
57
- regions: [mx]
58
- mday: 15
59
- - name: Día de la Independencia
60
- regions: [mx]
61
- mday: 16
62
- 10:
63
- - name: Día de la Raza
64
- regions: [mx]
65
- mday: 12
66
- type: informal
67
- 11:
68
- - name: Todos los Santos
69
- regions: [mx]
70
- mday: 1
71
- type: informal
72
- - name: Los Fieles Difuntos
73
- regions: [mx]
74
- mday: 2
75
- type: informal
76
- - name: Día de la Revolución
77
- week: 3
78
- regions: [mx]
79
- wday: 1
80
- 12:
81
- - name: Día de la Virgen de Guadalupe
82
- regions: [mx]
83
- mday: 12
84
- type: informal
85
- - name: Nochebuena
86
- regions: [mx]
87
- mday: 24
88
- type: informal
89
- - name: Navidad
90
- regions: [mx]
91
- mday: 25
92
- - name: Los Santos Inocentes
93
- regions: [mx]
94
- mday: 28
95
- tests: |
96
- {Date.civil(2007,1,1) => 'Año nuevo',
97
- Date.civil(2007,2,5) => 'Día de la Constitución',
98
- Date.civil(2007,5,1) => 'Día del Trabajo',
99
- Date.civil(2007,5,5) => 'Cinco de Mayo',
100
- Date.civil(2007,9,16) => 'Día de la Independencia',
101
- Date.civil(2007,11,1) => 'Todos los Santos',
102
- Date.civil(2007,11,2) => 'Los Fieles Difuntos',
103
- Date.civil(2007,11,19) => 'Día de la Revolución',
104
- Date.civil(2007,12,25) => 'Navidad'}.each do |date, name|
105
- assert_equal name, (Holidays.on(date, :mx, :informal)[0] || {})[:name]
106
- end
@@ -1,51 +0,0 @@
1
- # Malaysia holiday definitions for the Holidays gem!
2
-
3
- # Days not included in the definitions (yet):
4
- # Vesak Day (falls on the first full moon in May)
5
- # Lunar New Year (falls on the first day of the Lunar Calendar)
6
- # Hari Raya Puasa and Hari Raya Haji (based on moon sightings, Islamic Calendar)
7
- # Deepavali (15th Day of September or October, based on the Hindu Calendar)
8
-
9
- # Source:
10
- # http://publicholidays.com.my/
11
-
12
- months:
13
- 1:
14
- - name: New Year's Day
15
- regions: [my]
16
- mday: 1
17
- observed: to_weekday_if_weekend(date)
18
- 5:
19
- - name: Labour Day
20
- regions: [my]
21
- mday: 1
22
- 6:
23
- - name: Agong's Birthday
24
- regions: [my]
25
- mday: 4
26
- observed: to_weekday_if_weekend(date)
27
- 8:
28
- - name: Independence Day
29
- regions: [my]
30
- mday: 31
31
- observed: to_weekday_if_weekend(date)
32
- 9:
33
- - name: Malaysia Day
34
- regions: [my]
35
- mday: 16
36
- observed: to_weekday_if_weekend(date)
37
- 12:
38
- - name: Christmas Day
39
- regions: [my]
40
- mday: 25
41
- observed: to_weekday_if_weekend(date)
42
-
43
- tests: |
44
- {Date.civil(2016,1,1) => "New Year's Day",
45
- Date.civil(2016,5,1) => 'Labour Day',
46
- Date.civil(2016,6,4) => "Agong's Birthday",
47
- Date.civil(2016,8,31) => 'Independence Day',
48
- Date.civil(2016,9,16) => 'Malaysia Day',
49
- Date.civil(2016,12,25) => 'Christmas Day'}.each do |date, name|
50
- assert_equal name, (Holidays.on(date, :my, :informal)[0] || {})[:name]
51
- end