Method: AppInfo::Helper::HumanFileSize#number_to_human_size

Defined in:
lib/app_info/helper/file_size.rb

#number_to_human_size(number) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/app_info/helper/file_size.rb', line 12

def number_to_human_size(number)
  if number.to_i < 1024
    exponent = 0
  else
    max_exp = FILE_SIZE_UNITS.size - 1
    exponent = (Math.log(number) / Math.log(1024)).to_i
    exponent = max_exp if exponent > max_exp
    number = Kernel.format('%<number>.2f', number: (number / (1024**exponent.to_f)))
  end

  "#{number} #{FILE_SIZE_UNITS[exponent]}"
end