class CSGOLytics::FeedUpload
Constants
- EVENT_TABLE_MAP
- PARTITION_SIZE
Public Class Methods
new(db, server_id = nil, tee_file = nil)
click to toggle source
# File lib/csgolytics/feed_upload.rb, line 15 def initialize(db, server_id = nil, tee_file = nil) @db = db @server_id = server_id @tee_file = tee_file ? File.open(tee_file, "a+") : nil @log_parser = CSGOLytics::LogParser.new end
Public Instance Methods
insert_logline(logline, event_id = nil)
click to toggle source
# File lib/csgolytics/feed_upload.rb, line 22 def insert_logline(logline, event_id = nil) if @tee_file @tee_file.write(logline + "\n") end ev = @log_parser.parse(logline) unless ev return end if event_id ev[:event_id] = event_id else ev[:event_id] = Digest::SHA1.hexdigest logline end if @server_id ev[:server_id] = @server_id end upload_event(ev) end
Private Instance Methods
upload_event(ev)
click to toggle source
# File lib/csgolytics/feed_upload.rb, line 48 def upload_event(ev) table = EVENT_TABLE_MAP[ev[:event]] unless table return end @db.insert!([{ :table => table, :database => @db.get_database, :data => ev }]) end