class Qparser::ParserPdf
Public Class Methods
detect_os()
click to toggle source
# File lib/qparser/parser_pdf.rb, line 49 def self.detect_os @os ||= ( host_os = RbConfig::CONFIG['host_os'] case host_os when /darwin|mac os/ system('open QuakeLogParser.pdf') when /linux/ system('xdg-open QuakeLogParser.pdf') else raise Error::WebDriverError, "unknown os: #{host_os.inspect}" end ) end
generate(games)
click to toggle source
# File lib/qparser/parser_pdf.rb, line 6 def self.generate(games) Prawn::Document.generate("QuakeLogParser.pdf", page_size: "A4") do text "Quake Log Parser", size: 18, style: :bold, align: :center games.each do |k, v| text "#{k}".capitalize.gsub!("_", " "), size: 16, style: :bold v.each do |key, value| if key == :total_kills text "#{key}:".capitalize.gsub!("_", " ") + " #{value}" end move_down 3 if key == :players text "Players", style: :bold text value.join(", ") end move_down 3 if key == :kills text "#{key}".capitalize, style: :bold kills = Hash[value.sort_by { |player, kills| kills }.reverse] kills.each do |player, kills| text "#{player}: #{kills}" end end if key == :kills_by_means text "#{key}".capitalize.gsub!("_", " "), style: :bold kills = Hash[value.sort_by { |mean, kills| kills }.reverse] kills.each do |mean, kills| text "#{mean}: #{kills}" end end end move_down 10 stroke_horizontal_rule move_down 10 end end detect_os end