Sha256: 7ed8b0c98b4ed2ca06d5766c2ccca09af273f3014524186748f8e62a50e4e60d

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

= ChessIcu

For parsing files of chess tournament data into ruby classes.


== Install

  sudo gem install sanichi-chess_icu --source http://gems.github.com
  
  
== Usage

A tournament (ICU::Tournament) has two or more players (ICU::Player), and each player has one or more results (ICU::Result).

Tournament objects are created by parsing files of various formats. An instance of a class that can handle the format
(see below for the available classes) is first created, and then it's parse or parse! method is called with the file's
contents as argument.

  data = open('tournament.csv') { |f| f.read }
  tournament = parser.parse(data)

On success, the parse method returns an object of type ICU::Tournament. On error, it returns nil and an error message
can be retrieved from the parser instance:

  parser.error  # => error message or nil on success
  
Alternatively, if an exception is preferred on error, the parse! method can be used:

  tournament = parser.parse!(data)

The file formats supported in the current version are:

* Foreign CSV


=== Foreign CSV

This is a format used by the ICU[http://icu.ie] ({specification}[http://www.icu.ie/articles/display.php?id=172])
for players to submit their individual results in foreign tournaments for domestic rating.
It's parsed by instances of ICU::Tournament::ForeignCSV.

  parser = ICU::Tournament::ForeignCSV.new
  

== TODO
  
Future versions of this software will be able to parse more common formats such as SwissPerfect and FIDE's Krause format.


== Author

Mark Orr, rating officer for the Irish Chess Union (ICU[http://icu.ie]).

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sanichi-chess_icu-0.2.1 README.rdoc