Class: Facter::Util::Facts::UnitConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/facter/util/facts/unit_converter.rb

Class Method Summary collapse

Class Method Details

.bytes_to_human_readable(bytes) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/facter/util/facts/unit_converter.rb', line 26

def bytes_to_human_readable(bytes)
  return unless bytes
  return bytes.to_s + ' bytes' if bytes < 1024

  number, multiple = determine_exponent(bytes)

  "#{pad_number(number)} #{multiple}"
end

.bytes_to_mb(value_in_bytes) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/facter/util/facts/unit_converter.rb', line 8

def bytes_to_mb(value_in_bytes)
  return unless value_in_bytes

  value_in_bytes = value_in_bytes.to_i

  (value_in_bytes / (1024.0 * 1024.0)).round(2)
end

.hertz_to_human_readable(speed) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/facter/util/facts/unit_converter.rb', line 16

def hertz_to_human_readable(speed)
  speed = speed.to_i
  return if !speed || speed.zero?

  prefix = { 3 => 'k', 6 => 'M', 9 => 'G', 12 => 'T' }
  power = Math.log10(speed).floor
  validated_speed = power.zero? ? speed.to_f : speed.fdiv(10**power)
  format('%<displayed_speed>.2f', displayed_speed: validated_speed).to_s + ' ' + prefix[power] + 'Hz'
end