Class: Sensu::Package::Metrics::PackageLogReader

Inherits:
Object
  • Object
show all
Defined in:
lib/sensu/package/metrics/package_log_reader.rb

Defined Under Namespace

Classes: LineFound, LineNotFound

Instance Method Summary collapse

Constructor Details

#initialize(logfile) ⇒ PackageLogReader

Returns a new instance of PackageLogReader.



6
7
8
# File 'lib/sensu/package/metrics/package_log_reader.rb', line 6

def initialize(logfile)
  @logfile = logfile
end

Instance Method Details

#find(package) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/sensu/package/metrics/package_log_reader.rb', line 10

def find(package)
  line = find_line(package)
  if line.nil?
    LineNotFound.new(package)
  else
    LineFound.new(package, line)
  end
end

#find_line(package) ⇒ Object



19
20
21
22
# File 'lib/sensu/package/metrics/package_log_reader.rb', line 19

def find_line(package)
  pattern = "status installed #{package}"
  File.readlines(@logfile).select {|line| line.include?(pattern) }.last
end