Module: FileReader

Instance Method Summary collapse

Instance Method Details

#read_file_content(path, allow_empty = false) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/inspec/utils/file_reader.rb', line 4

def read_file_content(path, allow_empty = false)
  # these are currently ResourceSkipped to maintain consistency with the resource
  # pre-refactor (which used skip_resource). These should likely be changed to
  # ResourceFailed during a major version bump.
  file = inspec.file(path)
  unless file.file?
    raise Inspec::Exceptions::ResourceSkipped, "Can't find file: #{path}"
  end

  raw_content = file.content
  if raw_content.nil?
    raise Inspec::Exceptions::ResourceSkipped, "Can't read file: #{path}"
  end

  if !allow_empty && raw_content.empty?
    raise Inspec::Exceptions::ResourceSkipped, "File is empty: #{path}"
  end

  raw_content
end