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 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
-