rholidays 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.3.0 / 2011-10-28
2
+
3
+ * 2 enhancements
4
+ * removed method Holidays.source
5
+ * more elegant code
6
+
1
7
  == 0.2.0 / 2011-10-25
2
8
 
3
9
  * 1 enhancement
@@ -1,4 +1,9 @@
1
- HASH = {
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
- TYPES={
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 'hash'
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
- #ENV['HOLIDAYS_SOURCE'] = File.join('test','ferien.ods') # TODO:
59
- if Holidays.source == :from_hash
60
- found = false
61
- if HASH[[year,country,region,holiday_type]]
62
- @first,@last,@fortlaufend,@extra_days = HASH[[year,country,region,holiday_type]]
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
- TYPES[[country,region]]
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
- TYPES[[country,region]]
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
@@ -2,11 +2,11 @@ require 'test/unit'
2
2
  require './lib/holidays'
3
3
 
4
4
  module Kernel
5
- def after(date)
6
- if Date.today >= date
7
- yield
8
- end
9
- end
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
- TESTDIR = 'test'
19
- def setup
20
- ENV['HOLIDAYS_SOURCE'] = nil
21
- end
22
-
23
- def test_class
24
- h = Holidays.new(2011,:de,:bayern,:pfingsten)
25
- assert_kind_of Holidays, h
26
- end
27
-
28
- def test_ostern_de_bayern_2012
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
- def test_sommerferien_baden_wuerttemberg_2011
35
- h = Holidays.new(2011,:de,:baden_wuerttemberg,:sommer)
36
- assert_equal Date.new(2011,7,28), h.result.first
37
- assert_equal Date.new(2011,9,10), h.result.last
38
- end
39
- def test_all_countries
40
- countries = Holidays.countries
41
- assert_equal [:de,:at], countries
42
- end
43
-
44
- def test_all_regions_for_germany
45
- assert_equal [:baden_wuerttemberg, :bayern, :berlin, :brandenburg, :bremen,
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
- Holidays.regions(:de)
51
- end
48
+ Holidays.regions(:de)
49
+ end
52
50
 
53
- def test_all_holiday_types
54
- assert_equal [:winter,:ostern,:pfingsten,:sommer,:herbst,:weihnachten],
55
- Holidays.holiday_types(:de)
56
- assert_equal [:weihnachten, :semester, :ostern, :pfingsten, :sommer],
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 [:sport, :fruehling, :sommer, :herbst, :weihnachten],
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
- end
61
+ end
64
62
 
65
- def test_ostern_baden_wuerttemberg_2011
66
- assert_equal Date.new(2011,4,21),
67
- Holidays.new(2011,:de,:baden_wuerttemberg,:ostern).days.first
68
- assert_equal Date.new(2011,4,30),
69
- Holidays.new(2011,:de,:baden_wuerttemberg,:ostern).days.last
70
- end
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
- def test_sommer_baden_wuerttemberg_2011
73
- assert_equal Date.new(2011,7,28), Holidays.new(2011,:de,:baden_wuerttemberg,:sommer).result.first
74
- assert_equal Date.new(2011,9,10), Holidays.new(2011,:de,:baden_wuerttemberg,:sommer).result.last
75
- end
76
-
77
- def test_sommer_bayern_2011
78
- assert_equal Date.new(2011,7,30), Holidays.new(2011,:de,:bayern,:sommer).result.first
79
- assert_equal Date.new(2011,9,12), Holidays.new(2011,:de,:bayern,:sommer).result.last
80
- end
81
-
82
- def test_sommer_berlin_2011
83
- assert_equal Date.new(2011,6,29), Holidays.new(2011,:de,:berlin,:sommer).result.first
84
- assert_equal Date.new(2011,8,12), Holidays.new(2011,:de,:berlin,:sommer).result.last
85
- end
86
-
87
- def test_sommer_brandenburg_2011
88
- assert_equal Date.new(2011,6,30), Holidays.new(2011,:de,:brandenburg,:sommer).result.first
89
- assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:brandenburg,:sommer).result.last
90
- end
91
-
92
- def test_sommer_bremen_2011
93
- assert_equal Date.new(2011,7,7), Holidays.new(2011,:de,:bremen,:sommer).result.first
94
- assert_equal Date.new(2011,8,17), Holidays.new(2011,:de,:bremen,:sommer).result.last
95
- end
96
-
97
- def test_sommer_hamburg_2011
98
- assert_equal Date.new(2011,6,30), Holidays.new(2011,:de,:hamburg,:sommer).result.first
99
- assert_equal Date.new(2011,8,10), Holidays.new(2011,:de,:hamburg,:sommer).result.last
100
- end
101
-
102
- def test_sommer_hessen_2011
103
- assert_equal Date.new(2011,6,27), Holidays.new(2011,:de,:hessen,:sommer).result.first
104
- assert_equal Date.new(2011,8,5), Holidays.new(2011,:de,:hessen,:sommer).result.last
105
- end
106
-
107
- def test_sommer_mecklenburg_vorpommern_2011
108
- assert_equal Date.new(2011,7,4), Holidays.new(2011,:de,:mecklenburg_vorpommern,:sommer).result.first
109
- assert_equal Date.new(2011,8,13), Holidays.new(2011,:de,:mecklenburg_vorpommern,:sommer).result.last
110
- end
111
-
112
- def test_sommer_niedersachsen_2011
113
- assert_equal Date.new(2011,7,7), Holidays.new(2011,:de,:niedersachsen,:sommer).result.first
114
- assert_equal Date.new(2011,8,17), Holidays.new(2011,:de,:niedersachsen,:sommer).result.last
115
- end
116
-
117
- def test_sommer_nordrhein_westfalen_2011
118
- assert_equal Date.new(2011,7,25), Holidays.new(2011,:de,:nordrhein_westfalen,:sommer).result.first
119
- assert_equal Date.new(2011,9,6), Holidays.new(2011,:de,:nordrhein_westfalen,:sommer).result.last
120
- end
121
-
122
- def test_sommer_rheinland_pfalz_2011
123
- assert_equal Date.new(2011,6,27), Holidays.new(2011,:de,:rheinland_pfalz,:sommer).result.first
124
- assert_equal Date.new(2011,8,5), Holidays.new(2011,:de,:rheinland_pfalz,:sommer).result.last
125
- end
126
-
127
- def test_sommer_saarland_2011
128
- assert_equal Date.new(2011,6,24), Holidays.new(2011,:de,:saarland,:sommer).result.first
129
- assert_equal Date.new(2011,8,6), Holidays.new(2011,:de,:saarland,:sommer).result.last
130
- end
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.2.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.2.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-25 00:00:00.000000000Z
12
+ date: 2011-10-28 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: roo
16
- requirement: &20035068 !ruby/object:Gem::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: *20035068
24
+ version_requirements: *21729600
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bones
27
- requirement: &20034780 !ruby/object:Gem::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: *20034780
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
- - bin/rholidays
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
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require File.expand_path(
4
- File.join(File.dirname(__FILE__), %w[.. lib rholidays]))
5
- require 'rubygems'
6
- require 'choice'
7
- # Put your code here
8
-
@@ -1,2 +0,0 @@
1
- file.reference.rholidays-lib=C:\\Users\\thopre\\rholidays\\lib
2
- file.reference.rholidays-test=C:\\Users\\thopre\\rholidays\\test
@@ -1,7 +0,0 @@
1
- file.reference.rholidays-lib=lib
2
- file.reference.rholidays-test=test
3
- main.file=
4
- platform.active=Ruby
5
- source.encoding=UTF-8
6
- src.dir=${file.reference.rholidays-lib}
7
- test.src.dir=${file.reference.rholidays-test}
@@ -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>
@@ -1,6 +0,0 @@
1
-
2
- require File.join(File.dirname(__FILE__), %w[spec_helper])
3
-
4
- describe Rholidays do
5
- end
6
-
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
-