module FindFiles
copyright: 2015, Vulcano Security GmbH
Constants
- TYPES
Public Instance Methods
find_files(path, opts = {})
click to toggle source
ignores errors
# File lib/inspec/utils/find_files.rb, line 16 def find_files(path, opts = {}) find_files_or_warn(path, opts) || [] end
find_files_or_warn(path, opts = {})
click to toggle source
# File lib/inspec/utils/find_files.rb, line 20 def find_files_or_warn(path, opts = {}) depth = opts[:depth] type = TYPES[opts[:type].to_sym] if opts[:type] # If `path` contains a `'` we must modify how we quote the `sh -c` argument quote = path.include?("'") ? '"' : "'" cmd = "sh -c #{quote}find #{path}" cmd += " -type #{type}" unless type.nil? cmd += " -maxdepth #{depth.to_i}" if depth.to_i > 0 cmd += quote result = inspec.command(cmd) exit_status = result.exit_status unless exit_status == 0 warn "find_files(): exit #{exit_status} from `#{cmd}`" return nil end result.stdout.split("\n") .map(&:strip) .find_all { |x| !x.empty? } end