Class: Dexter::CsvLogParser

Inherits:
LogParser show all
Defined in:
lib/dexter/csv_log_parser.rb

Constant Summary collapse

FIRST_LINE_REGEX =
/\A.+/

Constants inherited from LogParser

LogParser::DETAIL_LINE, LogParser::LINE_SEPERATOR, LogParser::REGEX

Constants included from Logging

Logging::COLOR_CODES

Instance Method Summary collapse

Methods inherited from LogParser

#initialize

Methods included from Logging

#colorize, #log, #output

Constructor Details

This class inherits a constructor from Dexter::LogParser

Instance Method Details

#performObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/dexter/csv_log_parser.rb', line 7

def perform
  CSV.new(@logfile.to_io).each do |row|
    if (m = REGEX.match(row[13]))
      # replace first line with match
      # needed for multiline queries
      active_line = row[13].sub(FIRST_LINE_REGEX, m[3])

      add_parameters(active_line, row[14]) if row[14]
      process_entry(active_line, m[1].to_f)
    end
  end
rescue CSV::MalformedCSVError => e
  raise Dexter::Abort, "ERROR: #{e.message}"
end