Class: QmailLog::Analyzer
- Inherits:
-
Object
- Object
- QmailLog::Analyzer
- Extended by:
- QmailLog::Analyze::Helper
- Defined in:
- lib/qmail_log/analyzer.rb
Class Method Summary collapse
Methods included from QmailLog::Analyze::Helper
delivery, info, queue_id, starting
Class Method Details
.analyze(log, data, qid_from_did, memory) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/qmail_log/analyzer.rb', line 8 def analyze log, data, qid_from_did, memory time = Tai64.parse(log.split[0]).to_time.to_s content = log.partition(' ')[-1] queue_id = queue_id(content, qid_from_did) case content when /(new)/ memory[queue_id] = { time: {} } when /(info)/ memory[queue_id].merge!( info(content) ) when /(starting)/ memory[queue_id].merge!( starting(content) ) qid_from_did[ memory[queue_id][:delivery_id] ] = queue_id when /(delivery)/ memory[queue_id].merge!( delivery(content) ) when /end/ memory[queue_id][:time][:end] = time data << memory[queue_id].merge!({ queue_id: queue_id }) end memory[queue_id][:time][$1.to_sym] = time if $1 end |