Method: Ltsvr::Ltsvr#parse_line

Defined in:
lib/ltsvr/cli.rb

#parse_line(line) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/ltsvr/cli.rb', line 60

def parse_line(line)
  hash = LTSV.parse(line)[0] || {}

  # filter
  return nil unless @filters.all? {|filter| filter.match? hash}

  # keywords
  result = {}

  if @keywords.empty?
    result = hash
  else
    @keywords.each do |k|
      result[k] = hash[k]
    end
  end

  # ignore_keywords
  @ignore_keywords.each do |k|
    result.delete(k)
  end

  # result
  result_str(result)
end