Module: Rack::Analytics

Defined in:
lib/rack/analytics.rb,
lib/rack/analytics/version.rb,
lib/rack/analytics/request_logger.rb,
lib/rack/analytics/request_parser.rb

Defined Under Namespace

Classes: RequestLogger, RequestParser

Constant Summary collapse

VERSION =
"0.0.2"
@@queue =
Queue.new
@@parser =
RequestParser.new
@@db_name =
'rack-analytics'
@@db =
Mongo::Connection.new.db(@@db_name)

Class Method Summary collapse

Class Method Details

.finish!Object



29
30
31
32
33
34
35
# File 'lib/rack/analytics.rb', line 29

def self.finish!
  queue << nil
  thread.join
  @@thread = nil

  thread
end

.threadObject



21
22
23
24
25
26
27
# File 'lib/rack/analytics.rb', line 21

def self.thread
  @@thread ||= Thread.new do
    while env = queue.pop
      db['views'].insert parser.parse(env).data
    end
  end
end