class Qparser::Parser
Public Class Methods
get_kills_by_means(mean)
click to toggle source
# File lib/qparser/parser.rb, line 60 def self.get_kills_by_means(mean) if @kills_by_means.has_key?(mean) @kills_by_means[mean] += 1 else @kills_by_means[mean] = 1 end end
get_kills_per_player(killer, killed)
click to toggle source
# File lib/qparser/parser.rb, line 49 def self.get_kills_per_player(killer, killed) @kills[killer] = 0 if !@kills.has_key?(killer) && killer != '<world>' if killer != '<world>' @kills[killer] += 1 else @kills[killed] = 0 if !@kills.has_key?(killed) @kills[killed] -= 1 end end
get_players(line)
click to toggle source
# File lib/qparser/parser.rb, line 39 def self.get_players(line) if line.match /n\\(.*)\\t\\/ @players << $1 unless @players.include?($1) end end
get_total_kills(line)
click to toggle source
# File lib/qparser/parser.rb, line 45 def self.get_total_kills(line) @total_kills += 1 if line.match /Kill:/i end
parse(file)
click to toggle source
# File lib/qparser/parser.rb, line 12 def self.parse(file) cont = 0 file.each do |line| get_players(line) get_total_kills(line) if line.match @kill_regex get_kills_per_player($2, $4) get_kills_by_means($6) end if line.match /ShutdownGame:/i cont += 1 @games.merge!( { "game_#{cont}" => { total_kills: @total_kills, players: @players, kills: @kills, kills_by_means: @kills_by_means } }) reset end end ParserPdf.generate(@games) end
reset()
click to toggle source
# File lib/qparser/parser.rb, line 68 def self.reset @players = [] @total_kills = 0 @kills = {} @kills_by_means = {} end