wombleton-holidays 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
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