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