Sha256: 581b6041bff2be427f57205ed1082b45437584cbf1c1031130c3cd373bfca1c6

Contents?: true

Size: 982 Bytes

Versions: 5

Compression:

Stored size: 982 Bytes

Contents

# frozen_string_literal: true

module Facter
  module Util
    class FileHelper
      @log = Log.new(self)

      class << self
        DEBUG_MESSAGE = 'File at: %s is not accessible.'

        def safe_read(path, default_return = '')
          return File.read(path) if File.readable?(path)

          log_failed_to_read(path)
          default_return
        end

        def safe_readlines(path, default_return = [])
          return File.readlines(path) if File.readable?(path)

          log_failed_to_read(path)
          default_return
        end

        def dir_children(path)
          children = if RUBY_VERSION.to_f < 2.5
                       Dir.entries(path).reject { |dir| ['.', '..'].include?(dir) }
                     else
                       Dir.children(path)
                     end

          children
        end

        private

        def log_failed_to_read(path)
          @log.debug(DEBUG_MESSAGE % path)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
facter-4.2.10 lib/facter/util/file_helper.rb
facter-4.2.9 lib/facter/util/file_helper.rb
facter-4.2.8 lib/facter/util/file_helper.rb
facter-4.2.7 lib/facter/util/file_helper.rb
facter-4.2.6 lib/facter/util/file_helper.rb