class Services
Public Class Methods
build_list(selectors, run_level, filters)
click to toggle source
# File lib/sos/services.rb, line 21 def self.build_list(selectors, run_level, filters) # Returns each service on a line with # name:state selector = selectors.split(',').join('|') list='' redhat = %x{cat /etc/redhat-release} case redhat when /Red Hat Enterprise Linux/ if redhat =~ /release 6/ list = %x{ chkconfig --list | awk '/#{selector}/ {print $1":"$#{run_level+2}}'} list.gsub!(/:\d:/,':') end when /Fedora/ list = %x{ systemctl list-unit-files | awk '/#{selector}/ {print}'} list.gsub!(/\.service[\s]*/,':') end if filters != [] filtered = '' list.each_line { |line| filters.each { |filter| filtered << line if line =~ /#{filter}/ } } list = filtered end list end
new(service_list, services_logs)
click to toggle source
# File lib/sos/services.rb, line 50 def initialize(service_list, services_logs) @services = [] service_list.each_line { |line| name, state = line.chop.split(':') log = services_logs[name] ? services_logs[name] : '' @services << Service.new(name, state, log) } @services end
Public Instance Methods
by_name()
click to toggle source
# File lib/sos/services.rb, line 60 def by_name list = [] @services.each { |service| list << service } list end
enabled()
click to toggle source
# File lib/sos/services.rb, line 68 def enabled list = [] @services.each { |service| list << service if service.state } list end