rholidays 0.2.0 → 0.3.0
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.
- data/History.txt +6 -0
- data/lib/{hash.rb → hash_ferien.rb} +6 -1
- data/lib/holidays.rb +12 -82
- data/test/test_rholidays.rb +128 -169
- data/version.txt +1 -1
- metadata +8 -16
- data/bin/rholidays +0 -8
- data/nbproject/private/private.properties +0 -2
- data/nbproject/project.properties +0 -7
- data/nbproject/project.xml +0 -15
- data/spec/rholidays_spec.rb +0 -6
- data/spec/spec_helper.rb +0 -15
data/History.txt
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
HASH_FERIEN = {
|
2
|
+
[2011,:de,:bremen,:pfingsten] => [Date.new(2011,3,6),Date.new(2011,3,6),false,[]],
|
3
|
+
[2011,:de,:brandenburg,:pfingsten] => [Date.new(2011,3,6),Date.new(2011,3,6),false,[]],
|
4
|
+
[2011,:de,:berlin,:pfingsten] => [Date.new(2011,3,6),Date.new(2011,3,6),false,[]],
|
5
|
+
[2011,:de,:bayern,:pfingsten] => [Date.new(2011,6,14),Date.new(2011,6,25),false,[]],
|
6
|
+
[2011,:de,:baden_wuerttemberg,:pfingsten] => [Date.new(2011,6,14),Date.new(2011,6,25),false,[]],
|
2
7
|
[2011,:de,:baden_wuerttemberg,:herbst] => [Date.new(2011,11,1),Date.new(2011,11,4),false,[]],
|
3
8
|
[2011,:de,:bayern,:herbst] => [Date.new(2011,10,31),Date.new(2011,11,5),false,[]],
|
4
9
|
[2011,:de,:berlin,:herbst] => [Date.new(2011,10,4),Date.new(2011,10,14),false,[]],
|
data/lib/holidays.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'date'
|
3
|
-
require 'yaml'
|
4
|
-
|
5
2
|
|
6
3
|
class Holidays
|
7
4
|
COUNTRY_CODES = [:de, :at]
|
@@ -17,7 +14,9 @@ class Holidays
|
|
17
14
|
:salzburg,:steiermark, :tirol, :vorarlberg, :wien]
|
18
15
|
HOLIDAY_CODES_AT =
|
19
16
|
[:weihnachten, :semester, :ostern, :pfingsten, :sommer]
|
20
|
-
|
17
|
+
HOLIDAY_CODES_CH =
|
18
|
+
[:sport, :fruehling, :sommer, :herbst, :weihnachten]
|
19
|
+
REGION_HOLIDAY_TYPES={
|
21
20
|
[:de,:baden_wuerttemberg] => [:ostern,:pfingsten,:sommer,:herbst,:weihnachten],
|
22
21
|
[:de,:bayern] => [:winter,:ostern,:pfingsten,:sommer,:herbst,:weihnachten],
|
23
22
|
[:de,:berlin] => [:winter,:ostern,:pfingsten,:sommer,:herbst,:weihnachten],
|
@@ -45,7 +44,7 @@ class Holidays
|
|
45
44
|
[:at,:vorarlberg] => [:semester,:ostern,:pfingsten,:sommer,:weihnachten],
|
46
45
|
[:at,:wien] => [:semester,:ostern,:pfingsten,:sommer,:weihnachten],
|
47
46
|
}
|
48
|
-
require '
|
47
|
+
require 'hash_ferien'
|
49
48
|
|
50
49
|
# Creates a new Holiday object
|
51
50
|
def initialize(year,country,region,holiday_type)
|
@@ -55,62 +54,13 @@ class Holidays
|
|
55
54
|
@holiday_type = holiday_type
|
56
55
|
@fortlaufend = true
|
57
56
|
@extra_days = []
|
58
|
-
|
59
|
-
if
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
found = true
|
64
|
-
end
|
65
|
-
end # :from_hash
|
66
|
-
#if Holidays.source == :from_spreadsheet
|
67
|
-
# oo = Openoffice.new(ENV['HOLIDAYS_SOURCE'])
|
68
|
-
# oo.default_sheet = oo.sheets.first
|
69
|
-
# found = false
|
70
|
-
# oo.cell('A',1).to_i.upto(oo.last_row) do |row|
|
71
|
-
# jahr = oo.cell(row,1)
|
72
|
-
# land = oo.cell(row,2).to_sym
|
73
|
-
# lregion = oo.cell(row,3).to_sym
|
74
|
-
# ferientyp = oo.cell(row,4).to_sym
|
75
|
-
# first = oo.cell(row,5)
|
76
|
-
# last = oo.cell(row,6)
|
77
|
-
# if jahr == year and
|
78
|
-
# land == country and
|
79
|
-
# lregion == region and
|
80
|
-
# ferientyp == holiday_type
|
81
|
-
# found = true
|
82
|
-
# @first = first
|
83
|
-
# @last = last
|
84
|
-
# if oo.celltype(row,7) == :date
|
85
|
-
# @extra_days << oo.cell(row,7)
|
86
|
-
# end
|
87
|
-
# found = true
|
88
|
-
# end
|
89
|
-
# end
|
90
|
-
# end # Lesen aus Spreadsheet
|
57
|
+
found = false
|
58
|
+
if HASH_FERIEN[[year,country,region,holiday_type]]
|
59
|
+
@first,@last,@fortlaufend,@extra_days = HASH_FERIEN[[year,country,region,holiday_type]]
|
60
|
+
found = true
|
61
|
+
end
|
91
62
|
unless found
|
92
63
|
if false
|
93
|
-
elsif t 2011,:de,:bremen,:pfingsten
|
94
|
-
@first = Date.new(2011,6,3)
|
95
|
-
@last = Date.new(2011,6,3)
|
96
|
-
@fortlaufend = false
|
97
|
-
found = true
|
98
|
-
elsif t 2011,:de,:brandenburg,:pfingsten
|
99
|
-
@first = Date.new(2011,6,3)
|
100
|
-
@last = Date.new(2011,6,3)
|
101
|
-
found = true
|
102
|
-
elsif t 2011,:de,:berlin,:pfingsten
|
103
|
-
@first = Date.new(2011,6,3)
|
104
|
-
@last = Date.new(2011,6,3)
|
105
|
-
found = true
|
106
|
-
elsif t 2011,:de,:bayern,:pfingsten
|
107
|
-
@first = Date.new(2011,6,14)
|
108
|
-
@last = Date.new(2011,6,25)
|
109
|
-
found = true
|
110
|
-
elsif t 2011,:de,:baden_wuerttemberg,:pfingsten
|
111
|
-
@first = Date.new(2011,6,14)
|
112
|
-
@last = Date.new(2011,6,25)
|
113
|
-
found = true
|
114
64
|
elsif t 2011,:de,:baden_wuerttemberg,:ostern
|
115
65
|
#to do
|
116
66
|
# 'Gruendonnerstag ist auch frei'
|
@@ -266,13 +216,13 @@ class Holidays
|
|
266
216
|
case country
|
267
217
|
when :de
|
268
218
|
if region
|
269
|
-
|
219
|
+
REGION_HOLIDAY_TYPES[[country,region]]
|
270
220
|
else
|
271
221
|
HOLIDAY_CODES_DE
|
272
222
|
end
|
273
223
|
when :at
|
274
224
|
if region
|
275
|
-
|
225
|
+
REGION_HOLIDAY_TYPES[[country,region]]
|
276
226
|
else
|
277
227
|
HOLIDAY_CODES_AT
|
278
228
|
end
|
@@ -284,30 +234,10 @@ class Holidays
|
|
284
234
|
end
|
285
235
|
end
|
286
236
|
|
287
|
-
# Obsolete - always returns :from_hash
|
288
|
-
def self.source #:nodoc
|
289
|
-
return :from_hash # TODO:
|
290
|
-
# unless ENV['HOLIDAYS_SOURCE']
|
291
|
-
# :internal
|
292
|
-
# else
|
293
|
-
# if File.exist? ENV['HOLIDAYS_SOURCE']
|
294
|
-
# :from_spreadsheet
|
295
|
-
# else
|
296
|
-
# :file_not_found
|
297
|
-
# end
|
298
|
-
# end
|
299
|
-
end
|
300
|
-
|
301
237
|
private
|
302
238
|
|
303
239
|
def build_result
|
304
|
-
result =
|
305
|
-
result << @first
|
306
|
-
lfd = @first + 1
|
307
|
-
while lfd <= @last do
|
308
|
-
result << lfd
|
309
|
-
lfd += 1
|
310
|
-
end
|
240
|
+
result = (@first..@last).each.collect {|d| d}
|
311
241
|
@extra_days.each do |d|
|
312
242
|
result << d
|
313
243
|
end
|
data/test/test_rholidays.rb
CHANGED
@@ -2,11 +2,11 @@ require 'test/unit'
|
|
2
2
|
require './lib/holidays'
|
3
3
|
|
4
4
|
module Kernel
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
def after(date)
|
6
|
+
if Date.today >= date
|
7
|
+
yield
|
8
|
+
end
|
9
|
+
end
|
10
10
|
end
|
11
11
|
|
12
12
|
# Ferien werden bestimmt durch:
|
@@ -14,206 +14,165 @@ end
|
|
14
14
|
# 2. Land
|
15
15
|
# 3. Region (Bundesland in Deutschland oder Kantone in der Schweiz)
|
16
16
|
# 4. Art der Ferien (z. B. Ostern)
|
17
|
+
|
17
18
|
class TestRholidays < Test::Unit::TestCase
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
h = Holidays.new(2012,:de,:bayern,:ostern)
|
30
|
-
assert_equal(Date.new(2012,4,2), h.result.first)
|
31
|
-
assert_equal(Date.new(2012,4,14), h.result.last)
|
32
|
-
end
|
19
|
+
TESTDIR = 'test'
|
20
|
+
def test_class
|
21
|
+
h = Holidays.new(2011,:de,:bayern,:pfingsten)
|
22
|
+
assert_kind_of Holidays, h
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_ostern_de_bayern_2012
|
26
|
+
h = Holidays.new(2012,:de,:bayern,:ostern)
|
27
|
+
assert_equal(Date.new(2012,4,2), h.result.first)
|
28
|
+
assert_equal(Date.new(2012,4,14), h.result.last)
|
29
|
+
end
|
33
30
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
31
|
+
def test_sommerferien_baden_wuerttemberg_2011
|
32
|
+
h = Holidays.new(2011,:de,:baden_wuerttemberg,:sommer)
|
33
|
+
assert_equal Date.new(2011,7,28), h.result.first
|
34
|
+
assert_equal Date.new(2011,9,10), h.result.last
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_all_countries
|
38
|
+
countries = Holidays.countries
|
39
|
+
assert_equal [:de,:at], countries
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_all_regions_for_germany
|
43
|
+
assert_equal [:baden_wuerttemberg, :bayern, :berlin, :brandenburg, :bremen,
|
46
44
|
:hamburg, :hessen, :mecklenburg_vorpommern, :niedersachsen,
|
47
45
|
:nordrhein_westfalen, :rheinland_pfalz, :saarland, :sachsen,
|
48
46
|
:sachsen_anhalt, :schleswig_holstein, :thueringen
|
49
47
|
],
|
50
|
-
|
51
|
-
|
48
|
+
Holidays.regions(:de)
|
49
|
+
end
|
52
50
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
assert_equal
|
51
|
+
def test_all_holiday_types
|
52
|
+
assert_equal [:winter,:ostern,:pfingsten,:sommer,:herbst,:weihnachten],
|
53
|
+
Holidays.holiday_types(:de)
|
54
|
+
assert_equal [:weihnachten, :semester, :ostern, :pfingsten, :sommer],
|
57
55
|
Holidays.holiday_types(:at)
|
58
|
-
assert_equal
|
56
|
+
assert_equal [:sport, :fruehling, :sommer, :herbst, :weihnachten],
|
59
57
|
Holidays.holiday_types(:ch)
|
60
58
|
assert_raise(ArgumentError) {
|
61
59
|
Holidays.holiday_types(:it)
|
62
60
|
} # fuer Italien gibt es (momentan) noch keine Ferientermine
|
63
|
-
|
61
|
+
end
|
64
62
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
63
|
+
def test_ostern_baden_wuerttemberg_2011
|
64
|
+
assert_equal Date.new(2011,4,21),
|
65
|
+
Holidays.new(2011,:de,:baden_wuerttemberg,:ostern).days.first
|
66
|
+
assert_equal Date.new(2011,4,30),
|
67
|
+
Holidays.new(2011,:de,:baden_wuerttemberg,:ostern).days.last
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_sommer_baden_wuerttemberg_2011
|
71
|
+
assert_equal Date.new(2011,7,28), Holidays.new(2011,:de,:baden_wuerttemberg,:sommer).result.first
|
72
|
+
assert_equal Date.new(2011,9,10), Holidays.new(2011,:de,:baden_wuerttemberg,:sommer).result.last
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_sommer_bayern_2011
|
76
|
+
assert_equal Date.new(2011,7,30), Holidays.new(2011,:de,:bayern,:sommer).result.first
|
77
|
+
assert_equal Date.new(2011,9,12), Holidays.new(2011,:de,:bayern,:sommer).result.last
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_sommer_berlin_2011
|
81
|
+
assert_equal Date.new(2011,6,29), Holidays.new(2011,:de,:berlin,:sommer).result.first
|
82
|
+
assert_equal Date.new(2011,8,12), Holidays.new(2011,:de,:berlin,:sommer).result.last
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_sommer_brandenburg_2011
|
86
|
+
assert_equal Date.new(2011,6,30), Holidays.new(2011,:de,:brandenburg,:sommer).result.first
|
87
|
+
assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:brandenburg,:sommer).result.last
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_sommer_bremen_2011
|
91
|
+
assert_equal Date.new(2011,7,7), Holidays.new(2011,:de,:bremen,:sommer).result.first
|
92
|
+
assert_equal Date.new(2011,8,17), Holidays.new(2011,:de,:bremen,:sommer).result.last
|
93
|
+
end
|
71
94
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
def test_sommer_sachsen_2011
|
133
|
-
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:sachsen,:sommer).result.first
|
134
|
-
assert_equal Date.new(2011,8,19), Holidays.new(2011,:de,:sachsen,:sommer).result.last
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_sommer_sachsen_anhalt_2011
|
138
|
-
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:sachsen_anhalt,:sommer).result.first
|
139
|
-
assert_equal Date.new(2011,8,24), Holidays.new(2011,:de,:sachsen_anhalt,:sommer).result.last
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_sommer_schleswig_holstein_2011
|
143
|
-
assert_equal Date.new(2011,7,4), Holidays.new(2011,:de,:schleswig_holstein,:sommer).result.first
|
144
|
-
assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:schleswig_holstein,:sommer).result.last
|
145
|
-
end
|
146
|
-
|
147
|
-
def test_sommer_thueringen_2011
|
148
|
-
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:thueringen,:sommer).result.first
|
149
|
-
assert_equal Date.new(2011,8,19), Holidays.new(2011,:de,:thueringen,:sommer).result.last
|
150
|
-
end
|
151
|
-
|
152
|
-
def test_at_sommer_burgenland_2011
|
153
|
-
assert_equal Date.new(2011,7,2), Holidays.new(2011,:at,:burgenland,:sommer).result.first
|
154
|
-
assert_equal Date.new(2011,9,3), Holidays.new(2011,:at,:burgenland,:sommer).result.last
|
155
|
-
end
|
95
|
+
def test_sommer_hamburg_2011
|
96
|
+
assert_equal Date.new(2011,6,30), Holidays.new(2011,:de,:hamburg,:sommer).result.first
|
97
|
+
assert_equal Date.new(2011,8,10), Holidays.new(2011,:de,:hamburg,:sommer).result.last
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_sommer_hessen_2011
|
101
|
+
assert_equal Date.new(2011,6,27), Holidays.new(2011,:de,:hessen,:sommer).result.first
|
102
|
+
assert_equal Date.new(2011,8,5), Holidays.new(2011,:de,:hessen,:sommer).result.last
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_sommer_mecklenburg_vorpommern_2011
|
106
|
+
assert_equal Date.new(2011,7,4), Holidays.new(2011,:de,:mecklenburg_vorpommern,:sommer).result.first
|
107
|
+
assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:mecklenburg_vorpommern,:sommer).result.last
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_sommer_niedersachsen_2011
|
111
|
+
assert_equal Date.new(2011,7,7), Holidays.new(2011,:de,:niedersachsen,:sommer).result.first
|
112
|
+
assert_equal Date.new(2011,8,17), Holidays.new(2011,:de,:niedersachsen,:sommer).result.last
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_sommer_nordrhein_westfalen_2011
|
116
|
+
assert_equal Date.new(2011,7,25), Holidays.new(2011,:de,:nordrhein_westfalen,:sommer).result.first
|
117
|
+
assert_equal Date.new(2011,9,6), Holidays.new(2011,:de,:nordrhein_westfalen,:sommer).result.last
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_sommer_rheinland_pfalz_2011
|
121
|
+
assert_equal Date.new(2011,6,27), Holidays.new(2011,:de,:rheinland_pfalz,:sommer).result.first
|
122
|
+
assert_equal Date.new(2011,8,5), Holidays.new(2011,:de,:rheinland_pfalz,:sommer).result.last
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_sommer_saarland_2011
|
126
|
+
assert_equal Date.new(2011,6,24), Holidays.new(2011,:de,:saarland,:sommer).result.first
|
127
|
+
assert_equal Date.new(2011,8,6), Holidays.new(2011,:de,:saarland,:sommer).result.last
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_sommer_sachsen_2011
|
131
|
+
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:sachsen,:sommer).result.first
|
132
|
+
assert_equal Date.new(2011,8,19), Holidays.new(2011,:de,:sachsen,:sommer).result.last
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_sommer_sachsen_anhalt_2011
|
136
|
+
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:sachsen_anhalt,:sommer).result.first
|
137
|
+
assert_equal Date.new(2011,8,24), Holidays.new(2011,:de,:sachsen_anhalt,:sommer).result.last
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_sommer_schleswig_holstein_2011
|
141
|
+
assert_equal Date.new(2011,7,4), Holidays.new(2011,:de,:schleswig_holstein,:sommer).result.first
|
142
|
+
assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:schleswig_holstein,:sommer).result.last
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_sommer_thueringen_2011
|
146
|
+
assert_equal Date.new(2011,7,11), Holidays.new(2011,:de,:thueringen,:sommer).result.first
|
147
|
+
assert_equal Date.new(2011,8,19), Holidays.new(2011,:de,:thueringen,:sommer).result.last
|
148
|
+
end
|
149
|
+
|
150
|
+
def test_at_sommer_burgenland_2011
|
151
|
+
assert_equal Date.new(2011,7,2), Holidays.new(2011,:at,:burgenland,:sommer).result.first
|
152
|
+
assert_equal Date.new(2011,9,3), Holidays.new(2011,:at,:burgenland,:sommer).result.last
|
153
|
+
end
|
156
154
|
|
157
155
|
def test_at_sommer_kaernten_2011
|
158
|
-
assert_equal Date.new(2011,7,9), Holidays.new(2011,:at,:kaernten,:sommer).result.first
|
159
|
-
assert_equal Date.new(2011,9,10), Holidays.new(2011,:at,:kaernten,:sommer).result.last
|
160
|
-
end
|
161
|
-
|
162
|
-
#def test_source
|
163
|
-
# ENV['HOLIDAYS_SOURCE'] = nil
|
164
|
-
# assert_equal :internal, Holidays.source
|
165
|
-
# ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'nonexisting.ods')
|
166
|
-
# assert_equal :file_not_found, Holidays.source
|
167
|
-
# ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
168
|
-
# assert_equal :from_spreadsheet, Holidays.source
|
169
|
-
#end
|
170
|
-
|
171
|
-
def test_entry_from_spreadsheet
|
172
|
-
#ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
173
|
-
#assert_equal :from_spreadsheet, Holidays.source
|
174
|
-
assert_equal Date.new(2011,11,1), Holidays.new(2011,:de,:baden_wuerttemberg,:herbst).result.first
|
175
|
-
assert_equal Date.new(2011,11,4), Holidays.new(2011,:de,:baden_wuerttemberg,:herbst).result.last
|
176
|
-
end
|
177
|
-
|
178
|
-
def test_entry2_from_spreadsheet
|
179
|
-
#ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
180
|
-
#assert_equal :from_spreadsheet, Holidays.source
|
181
|
-
assert_equal Date.new(2011,10,31), Holidays.new(2011,:de,:bayern,:herbst).result.first
|
182
|
-
assert_equal Date.new(2011,11,5), Holidays.new(2011,:de,:bayern,:herbst).result.last
|
183
|
-
# auch bei vorhandenem Spreadsheet sollen Termine die programmatisch
|
184
|
-
# festgelegt sind auch gefunden werden, wenn sie im Spreadsheet nicht
|
185
|
-
# vorhanden sind.
|
186
156
|
assert_equal Date.new(2011,7,9), Holidays.new(2011,:at,:kaernten,:sommer).result.first
|
187
157
|
assert_equal Date.new(2011,9,10), Holidays.new(2011,:at,:kaernten,:sommer).result.last
|
188
158
|
end
|
189
159
|
|
190
160
|
def test_pfingsten_schleswig_holstein_2012_nur_ein_tag
|
191
|
-
#ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
192
161
|
assert_equal Date.new(2012,5,18), Holidays.new(2012,:de,:schleswig_holstein,:pfingsten).result.first
|
193
162
|
assert_equal Date.new(2012,5,18), Holidays.new(2012,:de,:schleswig_holstein,:pfingsten).result.last
|
194
163
|
assert_equal 1, Holidays.new(2012,:de,:schleswig_holstein,:pfingsten).result.size
|
195
164
|
end
|
196
165
|
|
197
166
|
def test_pfingsten_niedersachsen_2012_nur_ein_tag_und_extra_tag
|
198
|
-
#ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
199
167
|
assert_equal([Date.new(2012,5,18),Date.new(2012,5,29)],
|
200
168
|
Holidays.new(2012,:de,:niedersachsen,:pfingsten).result)
|
201
169
|
end
|
202
170
|
|
203
171
|
def test_pfingsten_berlin_2012_nur_ein_tag
|
204
|
-
#ENV['HOLIDAYS_SOURCE'] = File.join(TESTDIR,'ferien.ods')
|
205
172
|
assert_equal([Date.new(2012,5,18)],
|
206
173
|
Holidays.new(2012,:de,:berlin,:pfingsten).result)
|
207
174
|
end
|
208
175
|
|
209
|
-
def test_first_missing
|
210
|
-
# problematisch, weil nicht jede Region jede Ferienart hat
|
211
|
-
# z.B. BW mit Winterferien
|
212
|
-
# TODO:
|
213
|
-
#assert_equal [2013,:de,:baden_wuerttemberg,:sommer],
|
214
|
-
#Holidays.check_next
|
215
|
-
end
|
216
|
-
|
217
176
|
def test_from_hash_hessen_herbst
|
218
177
|
assert_equal Date.new(2011,10,10),
|
219
178
|
Holidays.new(2011,:de,:hessen,:herbst).days.first
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rholidays
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-28 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: roo
|
16
|
-
requirement: &
|
16
|
+
requirement: &21729600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.10.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *21729600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bones
|
27
|
-
requirement: &
|
27
|
+
requirement: &21729216 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,30 +32,22 @@ dependencies:
|
|
32
32
|
version: 3.7.1
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *21729216
|
36
36
|
description: Rholidays ermittelt Ferientermine (zum Beispiel Sommerferien in Bayern
|
37
37
|
im Jahr 2011)
|
38
38
|
email: thopre@gmail.com
|
39
|
-
executables:
|
40
|
-
- rholidays
|
39
|
+
executables: []
|
41
40
|
extensions: []
|
42
41
|
extra_rdoc_files:
|
43
42
|
- History.txt
|
44
43
|
- README.txt
|
45
|
-
- bin/rholidays
|
46
44
|
files:
|
47
45
|
- History.txt
|
48
46
|
- README.txt
|
49
47
|
- Rakefile
|
50
|
-
-
|
51
|
-
- lib/hash.rb
|
48
|
+
- lib/hash_ferien.rb
|
52
49
|
- lib/holidays.rb
|
53
50
|
- lib/rholidays.rb
|
54
|
-
- nbproject/private/private.properties
|
55
|
-
- nbproject/project.properties
|
56
|
-
- nbproject/project.xml
|
57
|
-
- spec/rholidays_spec.rb
|
58
|
-
- spec/spec_helper.rb
|
59
51
|
- test/test_rholidays.rb
|
60
52
|
- version.txt
|
61
53
|
homepage: http://rholidays.rubyforge.net
|
data/bin/rholidays
DELETED
data/nbproject/project.xml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project xmlns="http://www.netbeans.org/ns/project/1">
|
3
|
-
<type>org.netbeans.modules.ruby.rubyproject</type>
|
4
|
-
<configuration>
|
5
|
-
<data xmlns="http://www.netbeans.org/ns/ruby-project/1">
|
6
|
-
<name>Rholidays</name>
|
7
|
-
<source-roots>
|
8
|
-
<root id="src.dir"/>
|
9
|
-
</source-roots>
|
10
|
-
<test-roots>
|
11
|
-
<root id="test.src.dir"/>
|
12
|
-
</test-roots>
|
13
|
-
</data>
|
14
|
-
</configuration>
|
15
|
-
</project>
|
data/spec/rholidays_spec.rb
DELETED
data/spec/spec_helper.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
|
2
|
-
require File.expand_path(
|
3
|
-
File.join(File.dirname(__FILE__), %w[.. lib rholidays]))
|
4
|
-
|
5
|
-
Spec::Runner.configure do |config|
|
6
|
-
# == Mock Framework
|
7
|
-
#
|
8
|
-
# RSpec uses it's own mocking framework by default. If you prefer to
|
9
|
-
# use mocha, flexmock or RR, uncomment the appropriate line:
|
10
|
-
#
|
11
|
-
# config.mock_with :mocha
|
12
|
-
# config.mock_with :flexmock
|
13
|
-
# config.mock_with :rr
|
14
|
-
end
|
15
|
-
|