module LogLineParser::Utils

Constants

SPECIAL_CHARS
SPECIAL_CHARS_RE
TAB

Public Class Methods

compile_bots_re_from_config_file(bots_config_file) click to toggle source
# File lib/log_line_parser/utils.rb, line 39
def self.compile_bots_re_from_config_file(bots_config_file)
  return Bots::DEFAULT_RE unless bots_config_file
  configs = load_config_file(bots_config_file)[0]
  Bots.compile_bots_re(configs)
end
load_config_file(config_file) click to toggle source
# File lib/log_line_parser/utils.rb, line 33
def self.load_config_file(config_file)
  open(File.expand_path(config_file)) do |f|
    read_configs(f.read)
  end
end
open_multiple_output_files(base_names, dir=nil, ext="log") { |logs| ... } click to toggle source
# File lib/log_line_parser/utils.rb, line 18
def self.open_multiple_output_files(base_names, dir=nil, ext="log")
  logs = {}
  filepath = dir ? File.join(dir, "%s.#{ext}") : "%s.#{ext}"
  base_names.each do |base|
    logs[base] = open(format(filepath, base), "w")
  end
  yield logs
ensure
  logs.each_value {|v| v.close }
end
read_configs(config) click to toggle source
# File lib/log_line_parser/utils.rb, line 29
def self.read_configs(config)
  YAML.load_stream(config).to_a
end
to_csv(line) click to toggle source
# File lib/log_line_parser/utils.rb, line 51
def self.to_csv(line)
  LogLineParser.parse(line).to_a.to_csv
end
to_tsv(line, escape=true) click to toggle source
# File lib/log_line_parser/utils.rb, line 45
def self.to_tsv(line, escape=true)
  LogLineParser.parse(line).to_a.map do |field|
    escape ? escape_special_chars(field) : field
  end.join(TAB)
end

Private Class Methods

escape_special_chars(field) click to toggle source

private class methods

# File lib/log_line_parser/utils.rb, line 57
def self.escape_special_chars(field)
  field.gsub(SPECIAL_CHARS_RE) do |char|
    SPECIAL_CHARS[char]
  end
end