wombleton-holidays 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. data/.gitignore +3 -0
  2. data/CHANGELOG +22 -0
  3. data/LICENSE +21 -0
  4. data/README.rdoc +77 -0
  5. data/REFERENCES +16 -0
  6. data/VERSION +1 -0
  7. data/data/SYNTAX +111 -0
  8. data/data/au.yaml +111 -0
  9. data/data/build_defs.rb +152 -0
  10. data/data/ca.yaml +141 -0
  11. data/data/cz.yaml +68 -0
  12. data/data/de.yaml +111 -0
  13. data/data/dk.yaml +117 -0
  14. data/data/es.yaml +161 -0
  15. data/data/fr.yaml +70 -0
  16. data/data/gb.yaml +106 -0
  17. data/data/ie.yaml +58 -0
  18. data/data/index.yaml +26 -0
  19. data/data/is.yaml +136 -0
  20. data/data/it.yaml +66 -0
  21. data/data/mx.yaml +106 -0
  22. data/data/nl.yaml +67 -0
  23. data/data/no.yaml +82 -0
  24. data/data/north_america_informal.yaml +49 -0
  25. data/data/nyse.yaml +63 -0
  26. data/data/nz.yaml +141 -0
  27. data/data/pt.yaml +85 -0
  28. data/data/se.yaml +91 -0
  29. data/data/united_nations.yaml +188 -0
  30. data/data/ups.yaml +56 -0
  31. data/data/us.yaml +81 -0
  32. data/data/za.yaml +78 -0
  33. data/holidays.gemspec +16 -0
  34. data/lib/holidays/MANIFEST +28 -0
  35. data/lib/holidays/au.rb +43 -0
  36. data/lib/holidays/ca.rb +69 -0
  37. data/lib/holidays/cz.rb +36 -0
  38. data/lib/holidays/de.rb +51 -0
  39. data/lib/holidays/dk.rb +48 -0
  40. data/lib/holidays/es.rb +53 -0
  41. data/lib/holidays/europe.rb +236 -0
  42. data/lib/holidays/fr.rb +37 -0
  43. data/lib/holidays/gb.rb +41 -0
  44. data/lib/holidays/ie.rb +33 -0
  45. data/lib/holidays/is.rb +62 -0
  46. data/lib/holidays/it.rb +36 -0
  47. data/lib/holidays/mx.rb +52 -0
  48. data/lib/holidays/nl.rb +37 -0
  49. data/lib/holidays/no.rb +40 -0
  50. data/lib/holidays/north_america.rb +108 -0
  51. data/lib/holidays/nyse.rb +33 -0
  52. data/lib/holidays/nz.rb +69 -0
  53. data/lib/holidays/pt.rb +38 -0
  54. data/lib/holidays/scandinavia.rb +115 -0
  55. data/lib/holidays/se.rb +53 -0
  56. data/lib/holidays/united_nations.rb +25 -0
  57. data/lib/holidays/ups.rb +32 -0
  58. data/lib/holidays/us.rb +49 -0
  59. data/lib/holidays/za.rb +36 -0
  60. data/lib/holidays.rb +408 -0
  61. data/rakefile.rb +103 -0
  62. data/test/defs/test_defs_au.rb +35 -0
  63. data/test/defs/test_defs_ca.rb +28 -0
  64. data/test/defs/test_defs_cz.rb +25 -0
  65. data/test/defs/test_defs_de.rb +48 -0
  66. data/test/defs/test_defs_dk.rb +29 -0
  67. data/test/defs/test_defs_es.rb +56 -0
  68. data/test/defs/test_defs_europe.rb +277 -0
  69. data/test/defs/test_defs_fr.rb +25 -0
  70. data/test/defs/test_defs_gb.rb +35 -0
  71. data/test/defs/test_defs_ie.rb +20 -0
  72. data/test/defs/test_defs_is.rb +32 -0
  73. data/test/defs/test_defs_it.rb +24 -0
  74. data/test/defs/test_defs_mx.rb +21 -0
  75. data/test/defs/test_defs_nl.rb +23 -0
  76. data/test/defs/test_defs_no.rb +28 -0
  77. data/test/defs/test_defs_north_america.rb +53 -0
  78. data/test/defs/test_defs_nyse.rb +21 -0
  79. data/test/defs/test_defs_nz.rb +21 -0
  80. data/test/defs/test_defs_pt.rb +31 -0
  81. data/test/defs/test_defs_scandinavia.rb +75 -0
  82. data/test/defs/test_defs_se.rb +32 -0
  83. data/test/defs/test_defs_ups.rb +20 -0
  84. data/test/defs/test_defs_us.rb +22 -0
  85. data/test/defs/test_defs_za.rb +24 -0
  86. data/test/test_date.rb +101 -0
  87. data/test/test_helper.rb +11 -0
  88. data/test/test_holidays.rb +117 -0
  89. data/test/test_multiple_regions.rb +20 -0
  90. metadata +172 -0
data/data/index.yaml ADDED
@@ -0,0 +1,26 @@
1
+ # Definition build list
2
+ ---
3
+ defs:
4
+ AU: ['au.yaml']
5
+ CA: ['ca.yaml', 'north_america_informal.yaml']
6
+ CZ: ['cz.yaml']
7
+ DK: ['dk.yaml']
8
+ DE: ['de.yaml']
9
+ ES: ['es.yaml']
10
+ FR: ['fr.yaml']
11
+ GB: ['gb.yaml']
12
+ IE: ['ie.yaml']
13
+ IS: ['is.yaml']
14
+ IT: ['it.yaml']
15
+ MX: ['mx.yaml', 'north_america_informal.yaml']
16
+ NL: ['nl.yaml']
17
+ "NO": ['no.yaml']
18
+ NYSE: ['nyse.yaml']
19
+ NZ: ['nz.yaml']
20
+ PT: ['pt.yaml']
21
+ US: ['us.yaml', 'north_america_informal.yaml']
22
+ United_Nations: ['united_nations.yaml']
23
+ UPS: ['ups.yaml']
24
+ ZA: ['za.yaml']
25
+ North_America: ['ca.yaml', 'mx.yaml', 'us.yaml', 'north_america_informal.yaml']
26
+ Europe: ['cz.yaml', 'dk.yaml', 'de.yaml', 'es.yaml', 'fr.yaml', 'gb.yaml', 'ie.yaml', 'is.yaml', 'it.yaml', 'nl.yaml', 'no.yaml', 'pt.yaml']
data/data/is.yaml ADDED
@@ -0,0 +1,136 @@
1
+ # Icelandic holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2008-11-29.
4
+ # Sources:
5
+ # - http://www.simnet.is/gardarj/folk/days.htm#days
6
+ # - http://www.iceland.is/history-and-culture/Traditions/IcelandicHolidays/
7
+ # - http://en.wikipedia.org/wiki/Public_holidays_in_Iceland
8
+ # - http://www.qppstudio.net/publicholidays2007/iceland.htm
9
+ ---
10
+ months:
11
+ 0:
12
+ - name: Bolludagur
13
+ regions: [is]
14
+ function: easter(year)-48
15
+ - name: Sprengidagur
16
+ regions: [is]
17
+ function: easter(year)-47
18
+ - name: Öskudagur
19
+ regions: [is]
20
+ function: easter(year)-46
21
+ - name: Pálmasunnudagur
22
+ regions: [is]
23
+ function: easter(year)-7
24
+ - name: Skírdagur
25
+ regions: [is]
26
+ function: easter(year)-3
27
+ - name: Föstudaginn langi
28
+ regions: [is]
29
+ function: easter(year)-2
30
+ - name: Páskadagur
31
+ regions: [is]
32
+ function: easter(year)
33
+ - name: Annar í páskum
34
+ regions: [is]
35
+ function: easter(year)+1
36
+ - name: Uppstigningardagur
37
+ regions: [is]
38
+ function: easter(year)+39
39
+ - name: Hvítasunnudagur
40
+ regions: [is]
41
+ function: easter(year)+49
42
+ - name: Annar í hvítasunnu
43
+ regions: [is]
44
+ function: easter(year)+50
45
+ 1:
46
+ - name: Nýársdagur
47
+ regions: [is]
48
+ mday: 1
49
+ - name: Þrettándinn
50
+ regions: [is]
51
+ mday: 6
52
+ - name: Bóndadagur
53
+ regions: [is]
54
+ mday: 19
55
+ type: informal
56
+ 2:
57
+ - name: Konudagur
58
+ regions: [is]
59
+ mday: 18
60
+ type: informal
61
+ 4:
62
+ - name: Sumardagurinn fyrsti
63
+ regions: [is]
64
+ function: is_sumardagurinn_fyrsti(year)
65
+ 5:
66
+ - name: Verkalýðsdagurinn
67
+ regions: [is]
68
+ mday: 1
69
+ - name: Mæðradagurinn
70
+ regions: [is]
71
+ mday: 13
72
+ 6:
73
+ - name: Sjómannadagurinn
74
+ regions: [is]
75
+ mday: 3
76
+ type: informal
77
+ - name: Lýðveldisdagurinn
78
+ regions: [is]
79
+ mday: 17
80
+ 8:
81
+ - name: Frídagur verslunarmanna
82
+ regions: [is]
83
+ week: 1
84
+ wday: 1
85
+ 11:
86
+ - name: Dagur íslenskrar tungu
87
+ regions: [is]
88
+ mday: 16
89
+ 12:
90
+ - name: Jól
91
+ regions: [is]
92
+ mday: 24
93
+ - name: Jól
94
+ regions: [is]
95
+ mday: 25
96
+ - name: Jól
97
+ regions: [is]
98
+ mday: 26
99
+ - name: Gamlárskvöld
100
+ regions: [is]
101
+ mday: 31
102
+ methods:
103
+ is_sumardagurinn_fyrsti: |
104
+ # Iceland: first day of summer (Thursday after 18 April)
105
+ def self.is_sumardagurinn_fyrsti(year)
106
+ date = Date.civil(year,4,18)
107
+ if date.wday < 4
108
+ date += (4 - date.wday)
109
+ else date
110
+ date += (11 - date.wday)
111
+ end
112
+ date
113
+ end
114
+ tests: |
115
+ {Date.civil(2007,1,1) => 'Nýársdagur',
116
+ Date.civil(2007,1,6) => 'Þrettándinn',
117
+ Date.civil(2007,1,19) => 'Bóndadagur',
118
+ Date.civil(2007,2,18) => 'Konudagur',
119
+ Date.civil(2007,4,5) => 'Skírdagur',
120
+ Date.civil(2007,4,6) => 'Föstudaginn langi',
121
+ Date.civil(2007,4,8) => 'Páskadagur',
122
+ Date.civil(2007,4,9) => 'Annar í páskum',
123
+ Date.civil(2007,4,19) => 'Sumardagurinn fyrsti',
124
+ Date.civil(2007,5,1) => 'Verkalýðsdagurinn',
125
+ Date.civil(2007,5,17) => 'Uppstigningardagur',
126
+ Date.civil(2007,5,27) => 'Hvítasunnudagur',
127
+ Date.civil(2007,5,28) => 'Annar í hvítasunnu',
128
+ Date.civil(2007,6,3) => 'Sjómannadagurinn',
129
+ Date.civil(2007,6,17) => 'Lýðveldisdagurinn',
130
+ Date.civil(2007,8,6) => 'Frídagur verslunarmanna',
131
+ Date.civil(2007,12,24) => 'Jól',
132
+ Date.civil(2007,12,25) => 'Jól',
133
+ Date.civil(2007,12,26) => 'Jól',
134
+ Date.civil(2007,12,31) => 'Gamlárskvöld'}.each do |date, name|
135
+ assert_equal name, (Holidays.on(date, :is, :informal)[0] || {})[:name]
136
+ end
data/data/it.yaml ADDED
@@ -0,0 +1,66 @@
1
+ # Italian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2008-11-23.
4
+ # Sources:
5
+ # - http://en.wikipedia.org/wiki/Holidays_in_Italy
6
+ ---
7
+ months:
8
+ 0:
9
+ - name: Pasqua
10
+ regions: [it]
11
+ function: easter(year)
12
+ - name: Lunedì dell'Angelo
13
+ regions: [it]
14
+ function: easter(year)+1
15
+ 1:
16
+ - name: Capodanno
17
+ regions: [it]
18
+ mday: 1
19
+ - name: Epifania
20
+ regions: [it]
21
+ mday: 6
22
+ 4:
23
+ - name: Festa della Liberazione
24
+ regions: [it]
25
+ mday: 25
26
+ 5:
27
+ - name: Festa dei Lavoratori
28
+ regions: [it]
29
+ mday: 1
30
+ 6:
31
+ - name: Festa della Repubblica
32
+ regions: [it]
33
+ mday: 2
34
+ 8:
35
+ - name: Assunzione
36
+ regions: [it]
37
+ mday: 15
38
+ 11:
39
+ - name: Ognissanti
40
+ regions: [it]
41
+ mday: 1
42
+ 12:
43
+ - name: Immacolata Concezione
44
+ regions: [it]
45
+ mday: 8
46
+ - name: Natale
47
+ regions: [it]
48
+ mday: 25
49
+ - name: Santo Stefano
50
+ regions: [it]
51
+ mday: 26
52
+ tests: |
53
+ {Date.civil(2007,1,1) => 'Capodanno',
54
+ Date.civil(2007,1,6) => 'Epifania',
55
+ Date.civil(2007,4,8) => 'Pasqua',
56
+ Date.civil(2007,4,9) => 'Lunedì dell\'Angelo',
57
+ Date.civil(2007,4,25) => 'Festa della Liberazione',
58
+ Date.civil(2007,5,1) => 'Festa dei Lavoratori',
59
+ Date.civil(2007,6,2) => 'Festa della Repubblica',
60
+ Date.civil(2007,8,15) => 'Assunzione',
61
+ Date.civil(2007,11,1) => 'Ognissanti',
62
+ Date.civil(2007,12,8) => 'Immacolata Concezione',
63
+ Date.civil(2007,12,25) => 'Natale',
64
+ Date.civil(2007,12,26) => 'Santo Stefano'}.each do |date, name|
65
+ assert_equal name, (Holidays.on(date, :it, :informal)[0] || {})[:name]
66
+ end
data/data/mx.yaml ADDED
@@ -0,0 +1,106 @@
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
data/data/nl.yaml ADDED
@@ -0,0 +1,67 @@
1
+ # Dutch holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2008-11-23.
4
+ # Sources:
5
+ # - http://en.wikipedia.org/wiki/Public_holidays_in_the_Netherlands
6
+ # - http://www.buyusa.gov/netherlands/en/dutch_holidays.html
7
+ ---
8
+ months:
9
+ 0:
10
+ - name: Goede Vrijdag
11
+ regions: [nl]
12
+ function: easter(year)-2
13
+ - name: Pasen
14
+ regions: [nl]
15
+ function: easter(year)
16
+ - name: Pasen
17
+ regions: [nl]
18
+ function: easter(year)+1
19
+ - name: Hemelvaartsdag
20
+ regions: [nl]
21
+ function: easter(year)+39
22
+ - name: Pinksteren
23
+ regions: [nl]
24
+ function: easter(year)+49
25
+ - name: Pinksteren
26
+ regions: [nl]
27
+ function: easter(year)+50
28
+ 1:
29
+ - name: Nieuwjaar
30
+ regions: [nl]
31
+ mday: 1
32
+ 4:
33
+ - name: Koninginnedag
34
+ regions: [nl]
35
+ mday: 30
36
+ 5:
37
+ - name: Dodenherdenking
38
+ regions: [nl]
39
+ mday: 4
40
+ - name: Bevrijdingsdag
41
+ regions: [nl]
42
+ mday: 5
43
+ 12:
44
+ - name: Sinterklaas
45
+ regions: [nl]
46
+ mday: 5
47
+ type: informal
48
+ - name: Kerstmis
49
+ regions: [nl]
50
+ mday: 25
51
+ - name: Kerstmis
52
+ regions: [nl]
53
+ mday: 26
54
+ tests: |
55
+ {Date.civil(2008,1,1) => 'Nieuwjaar',
56
+ Date.civil(2008,3,21) => 'Goede Vrijdag',
57
+ Date.civil(2008,3,23) => 'Pasen',
58
+ Date.civil(2008,3,24) => 'Pasen',
59
+ Date.civil(2008,4,30) => 'Koninginnedag',
60
+ Date.civil(2008,5,1) => 'Hemelvaartsdag', # Ascension, Easter+39
61
+ Date.civil(2008,5,5) => 'Bevrijdingsdag',
62
+ Date.civil(2008,5,11) => 'Pinksteren', # Pentecost, Easter+49
63
+ Date.civil(2008,5,12) => 'Pinksteren', # Pentecost, Easter+50
64
+ Date.civil(2008,12,25) => 'Kerstmis',
65
+ Date.civil(2008,12,26) => 'Kerstmis'}.each do |date, name|
66
+ assert_equal name, (Holidays.on(date, :nl, :informal)[0] || {})[:name]
67
+ end
data/data/no.yaml ADDED
@@ -0,0 +1,82 @@
1
+ # Norwegian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Added: 20010-02-22.
4
+ # Sources:
5
+ # - http://no.wikipedia.org/wiki/Offentlig_fridag
6
+ # - http://www.timeanddate.com/norsk/kalender.html
7
+ ---
8
+ months:
9
+ 0:
10
+ - name: Fastelavn
11
+ regions: ["no"]
12
+ function: easter(year)-49
13
+ type: informal
14
+ - name: Palmesøndag
15
+ regions: ["no"]
16
+ function: easter(year)-7
17
+ - name: Skjærtorsdag
18
+ regions: ["no"]
19
+ function: easter(year)-3
20
+ - name: Langfredag
21
+ regions: ["no"]
22
+ function: easter(year)-2
23
+ - name: 1. påskedag
24
+ regions: ["no"]
25
+ function: easter(year)
26
+ - name: 2. påskedag
27
+ regions: ["no"]
28
+ function: easter(year)+1
29
+ - name: Kristi Himmelfartsdag
30
+ regions: ["no"]
31
+ function: easter(year)+39
32
+ - name: 1. pinsedag
33
+ regions: ["no"]
34
+ function: easter(year)+49
35
+ - name: 2. pinsedag
36
+ regions: ["no"]
37
+ function: easter(year)+50
38
+ 1:
39
+ - name: Nyttårsdag
40
+ regions: ["no"]
41
+ mday: 1
42
+ 5:
43
+ - name: 1. mai
44
+ regions: ["no"]
45
+ mday: 1
46
+ - name: 17. mai
47
+ regions: ["no"]
48
+ mday: 17
49
+ 12:
50
+ - name: Julaften
51
+ regions: ["no"]
52
+ mday: 24
53
+ type: informal
54
+ - name: 1. juledag
55
+ regions: ["no"]
56
+ mday: 25
57
+ - name: 2. juledag
58
+ regions: ["no"]
59
+ mday: 26
60
+ - name: Nyttårsaften
61
+ regions: ["no"]
62
+ mday: 31
63
+ type: informal
64
+ tests: |
65
+ {Date.civil(2010,1,1) => 'Nyttårsdag',
66
+ Date.civil(2010,5,1) => '1. mai',
67
+ Date.civil(2010,5,17) => '17. mai',
68
+ Date.civil(2010,12,24) => 'Julaften',
69
+ Date.civil(2010,12,25) => '1. juledag',
70
+ Date.civil(2010,12,26) => '2. juledag',
71
+ Date.civil(2010,12,31) => 'Nyttårsaften',
72
+ Date.civil(2010,2,14) => 'Fastelavn',
73
+ Date.civil(2010,3,28) => 'Palmesøndag',
74
+ Date.civil(2010,4,1) => 'Skjærtorsdag',
75
+ Date.civil(2010,4,2) => 'Langfredag',
76
+ Date.civil(2010,4,4) => '1. påskedag',
77
+ Date.civil(2010,4,5) => '2. påskedag',
78
+ Date.civil(2010,5,13) => 'Kristi Himmelfartsdag',
79
+ Date.civil(2010,5,23) => '1. pinsedag',
80
+ Date.civil(2010,5,24) => '2. pinsedag'}.each do |date, name|
81
+ assert_equal name, (Holidays.on(date, :no, :informal)[0] || {})[:name]
82
+ end
@@ -0,0 +1,49 @@
1
+ # Informal North American holiday definitions for the Ruby Holiday gem.
2
+ # Updated 2008-11-22.
3
+ ---
4
+ months:
5
+ 2:
6
+ - name: Groundhog Day
7
+ regions: [us, ca]
8
+ mday: 2
9
+ type: informal
10
+ - name: Valentine's Day
11
+ regions: [us, ca]
12
+ mday: 14
13
+ type: informal
14
+ 3:
15
+ - name: St. Patrick's Day
16
+ regions: [us, ca]
17
+ mday: 17
18
+ type: informal
19
+ 4:
20
+ - name: April Fool's Day
21
+ regions: [us, ca]
22
+ mday: 1
23
+ type: informal
24
+ - name: Earth Day
25
+ regions: [us, ca]
26
+ mday: 22
27
+ type: informal
28
+ 5:
29
+ - name: Mother's Day
30
+ week: 2
31
+ regions: [us, ca]
32
+ wday: 0
33
+ type: informal
34
+ - name: Armed Forces Day
35
+ week: 3
36
+ regions: [us]
37
+ wday: 6
38
+ type: informal
39
+ 5:
40
+ - name: Father's Day
41
+ week: 3
42
+ regions: [us, ca]
43
+ wday: 0
44
+ type: informal
45
+ 10:
46
+ - name: Halloween
47
+ regions: [us, ca]
48
+ mday: 31
49
+ type: informal
data/data/nyse.yaml ADDED
@@ -0,0 +1,63 @@
1
+ # NYSE holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # By Alan Larkin
4
+ # Source: http://www.nyse.com/about/newsevents/1176373643795.html#earlyclose2008
5
+ #
6
+ # Updated 2008-11-19.
7
+ ---
8
+ months:
9
+ 0:
10
+ - name: Good Friday
11
+ regions: [nyse]
12
+ function: easter(year)-2
13
+ 1:
14
+ - name: New Year's Day
15
+ regions: [nyse]
16
+ mday: 1
17
+ - name: Martin Luther King, Jr. Day
18
+ week: 3
19
+ regions: [nyse]
20
+ wday: 1
21
+ 2:
22
+ - name: Presidents' Day
23
+ week: 3
24
+ regions: [nyse]
25
+ wday: 1
26
+ 5:
27
+ - name: Memorial Day
28
+ week: -1
29
+ regions: [nyse]
30
+ wday: 1
31
+ 7:
32
+ - name: Independence Day
33
+ regions: [nyse]
34
+ mday: 4
35
+ observed: to_weekday_if_weekend
36
+ 9:
37
+ - name: Labor Day
38
+ week: 1
39
+ regions: [nyse]
40
+ wday: 1
41
+ 11:
42
+ - name: Thanksgiving
43
+ week: 4
44
+ regions: [nyse]
45
+ wday: 4
46
+ 12:
47
+ - name: Christmas Day
48
+ regions: [nyse]
49
+ mday: 25
50
+ observed: to_weekday_if_weekend
51
+ methods:
52
+ tests: |
53
+ {Date.civil(2008,1,1) => 'New Year\'s Day',
54
+ Date.civil(2008,1,21) => 'Martin Luther King, Jr. Day',
55
+ Date.civil(2008,2,18) => 'Presidents\' Day',
56
+ Date.civil(2008,3,21) => 'Good Friday',
57
+ Date.civil(2008,5,26) => 'Memorial Day',
58
+ Date.civil(2008,7,4) => 'Independence Day',
59
+ Date.civil(2008,9,1) => 'Labor Day',
60
+ Date.civil(2008,11,27) => 'Thanksgiving',
61
+ Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
62
+ assert_equal name, (Holidays.on(date, :nyse)[0] || {})[:name]
63
+ end