Sha256: 384c9c2c3c59ce38f9e174a2df384749321ff0b4429dbaf2b57d51f82141572c

Contents?: true

Size: 1 KB

Versions: 17

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

module Facter
  module FilesystemHelper
    MOUNT_KEYS = %i[device filesystem path options
                    available available_bytes size
                    size_bytes used used_bytes capacity].freeze
    class << self
      def read_mountpoints
        require 'sys/filesystem'
        force_utf(Sys::Filesystem.mounts)
      end

      def read_mountpoint_stats(path)
        require 'sys/filesystem'
        Sys::Filesystem.stat(path)
      end

      def compute_capacity(used, total)
        if used == total
          '100%'
        elsif used.positive?
          "#{format('%<value>.2f', value: (used / total.to_f * 100))}%"
        else
          '0%'
        end
      end

      private

      def force_utf(mounts)
        mounts.each do |mount|
          mount.name.force_encoding('UTF-8')
          mount.mount_type.force_encoding('UTF-8')
          mount.mount_point.force_encoding('UTF-8')
          mount.options.force_encoding('UTF-8')
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
facter-4.0.38 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.37 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.36 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.35 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.34 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.33 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.32 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.31 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.30 lib/facter/resolvers/utils/filesystem_helper.rb
facter-4.0.29 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.28 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.26 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.25 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.24 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.23 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.22 lib/resolvers/utils/filesystem_helper.rb
facter-4.0.21 lib/resolvers/utils/filesystem_helper.rb