class SimpleStatsStore::Server
Public Class Methods
new(options)
click to toggle source
# File lib/simple_stats_store/server.rb, line 3 def initialize(options) @data_dump = options[:data_dump] @models = options[:models] @name = options[:name] || $0 end
Public Instance Methods
run() { || ... }
click to toggle source
# File lib/simple_stats_store/server.rb, line 28 def run(&block) Process.fork do $0 = @name loop do self.scan yield if block_given? sleep 0.1 end end end
scan()
click to toggle source
# File lib/simple_stats_store/server.rb, line 9 def scan @data_dump.each do |stats| lines = stats.split("\n") if lines.shift != '---' or lines.pop != '---' puts "Corrupt statistics" return false end model = lines.shift.strip data = {} lines.each do |l| k, v = l.split(/:/, 2) data[k.strip.to_sym] = v.strip end @models[model.to_sym].create(data) end end