Sha256: 10d73c9d74da19c5b5659caad92f87324bd0624d02fbffa5bcbce803dff761bf

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 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 <em>parse</em> or <em>parse!</em> method is called
with the file's contents as the only argument.

  require 'chess_icu'
  data = open('tournament.txt') { |f| f.read }
  parser = ICU::Tournament::Parser.new  # substitute the name of an available parser (see below) for "Parser"
  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 <em>parse!</em> method can be used:

  tournament = parser.parse!(data)

The currently available parsers are:

* Foreign CSV (ICU::Tournament::ForeignCSV) - for players to report their individual results in foreign tournaments
* Krause (ICU::Tournament::Krause) - the format used by FIDE


== TODO
  
Future versions of this software will be able to parse additional file formats (such as SwissPerfect).


== Author

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sanichi-chess_icu-0.3.0 README.rdoc
sanichi-chess_icu-0.3.1 README.rdoc