## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+require 'shogi_server/league/persistent'
+
module ShogiServer # for a namespace
######################################################
#
class League
- def initialize
+ def initialize(dir=File.dirname(__FILE__))
@mutex = Monitor.new # guard @players
@games = Hash::new
@players = Hash::new
@event = nil
- @dir = File.dirname(__FILE__)
+ @dir = dir
end
attr_accessor :players, :games, :event, :dir
- def shutdown
- @mutex.synchronize do
- @players.each do |name, player|
- @persistent.save(player)
- end
- end
- end
-
# this should be called just after instanciating a League object.
def setup_players_database
filename = File.join(@dir, "players.yaml")
end
def delete(player)
- @persistent.save(player)
@mutex.synchronize do
@players.delete(player.name)
end
end
- def save(player)
- @persistent.save(player)
- end
-
def reload
@mutex.synchronize do
@players.each do |name, player|