icu_tournament 1.4.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -122,7 +122,7 @@ module ICU
122
122
  # Parse CSV data returning a Tournament on success or raising an exception on error.
123
123
  def parse!(csv, arg={})
124
124
  @state, @line, @round, @sum, @error = 0, 0, nil, nil, nil
125
- @tournament = Tournament.new('Dummy', '2000-01-01')
125
+ @tournament = Tournament.new('Unspecified', '2000-01-01')
126
126
  csv = ICU::Util.to_utf8(csv) unless arg[:is_utf8]
127
127
 
128
128
  CSV.parse(csv, :row_sep => :auto) do |r|
@@ -212,7 +212,7 @@ module ICU
212
212
  # Parse Krause data returning a Tournament on success or raising an exception on error.
213
213
  def parse!(krs, arg={})
214
214
  @lineno = 0
215
- @tournament = Tournament.new('Dummy', '2000-01-01')
215
+ @tournament = Tournament.new('Unspecified', '2000-01-01')
216
216
  @name_set, @start_set = false, false
217
217
  @comments = ''
218
218
  @results = Array.new
@@ -80,7 +80,7 @@ module ICU
80
80
 
81
81
  # Parse SP data returning a Tournament or raising an exception on error.
82
82
  def parse_file!(file, arg={})
83
- @t = Tournament.new('Dummy', '2000-01-01')
83
+ @t = Tournament.new('Unspecified', '2000-01-01')
84
84
  @t.start = arg[:start] if arg[:start]
85
85
  @bonus = {}
86
86
  @start_no = {}
@@ -190,12 +190,14 @@ module ICU
190
190
  raise "non-existant INI file (#{file})"
191
191
  end
192
192
  raise "invalid INI file (no sections)" if ini.size == 0
193
- %w(name arbiter rounds).each do |key|
194
- val = (ini['Tournament Info'][key.capitalize] || '').squeeze(" ")
195
- @t.send("#{key}=", val) if val.size > 0
193
+ if ini["Tournament Info"]
194
+ %w(name arbiter rounds).each do |key|
195
+ val = (ini["Tournament Info"][key.capitalize] || '').squeeze(" ")
196
+ @t.send("#{key}=", val) if val.size > 0
197
+ end
196
198
  end
197
- if ini['Standings'] && ini['Standings']['Tie Breaks']
198
- @t.tie_breaks = ini['Standings']['Tie Breaks'].to_s.split(/,/).map do |tbid|
199
+ if ini["Standings"] && ini["Standings"]["Tie Breaks"]
200
+ @t.tie_breaks = ini["Standings"]["Tie Breaks"].to_s.split(/,/).map do |tbid|
199
201
  case tbid.to_i # tie break name in SwissPerfect
200
202
  when 1217 then :buchholz # Buchholz
201
203
  when 1218 then :harkness # Median Buchholz
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ICU
4
4
  class Tournament
5
- VERSION = "1.4.1"
5
+ VERSION = "1.4.2"
6
6
  end
7
7
  end
@@ -219,6 +219,20 @@ module ICU
219
219
  end
220
220
  end
221
221
 
222
+ context "Limerick CC, 2010-11, which has no 'Tournament Info' section in the INI file" do
223
+ before(:each) do
224
+ @p = ICU::Tournament::SwissPerfect.new
225
+ end
226
+
227
+ it "should parse" do
228
+ @t = @p.parse_file(SAMPLES + 'limerick_cc_2011.zip', :start => "2010-10-15")
229
+ @p.error.should be_nil
230
+ @t.name.should == "Unspecified"
231
+ @t.rounds.should == 7
232
+ @t.arbiter.should be_nil
233
+ end
234
+ end
235
+
222
236
  context "Non-existant ZIP file" do
223
237
  before(:all) do
224
238
  @p = ICU::Tournament::SwissPerfect.new
@@ -232,7 +246,6 @@ module ICU
232
246
  end
233
247
 
234
248
  context "Invalid ZIP file" do
235
-
236
249
  before(:all) do
237
250
  @p = ICU::Tournament::SwissPerfect.new
238
251
  @t = @p.parse_file(SAMPLES + 'notazipfile.zip', :start => "2010-05-08")
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 4
8
- - 1
9
- version: 1.4.1
8
+ - 2
9
+ version: 1.4.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Mark Orr
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-04-22 00:00:00 +01:00
17
+ date: 2011-05-16 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency