Sha256: f31e3329d5b289be8295b6e5df622bbff758d9f4ae319738e95db4f302cf6dab

Contents?: true

Size: 554 Bytes

Versions: 6

Compression:

Stored size: 554 Bytes

Contents

require "csv"

module Dexter
  class CsvLogParser < LogParser
    FIRST_LINE_REGEX = /\A.+/

    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
      abort "ERROR: #{e.message}"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pgdexter-0.3.7 lib/dexter/csv_log_parser.rb
pgdexter-0.3.6 lib/dexter/csv_log_parser.rb
pgdexter-0.3.5 lib/dexter/csv_log_parser.rb
pgdexter-0.3.4 lib/dexter/csv_log_parser.rb
pgdexter-0.3.3 lib/dexter/csv_log_parser.rb
pgdexter-0.3.2 lib/dexter/csv_log_parser.rb