module NiceBytes
Constants
- G
- K
- M
- T
Public Class Methods
nice_bytes( bytes, max_digits=3 )
click to toggle source
# File lib/ruic/nicebytes.rb, line 6 def nice_bytes( bytes, max_digits=3 ) value, suffix, precision = case bytes when 0...K [ bytes, 'B', 0 ] else value, suffix = case bytes when K...M then [ bytes / K, 'kB' ] when M...G then [ bytes / M, 'MB' ] when G...T then [ bytes / G, 'GB' ] else [ bytes / T, 'TB' ] end used_digits = case value when 0...10 then 1 when 10...100 then 2 when 100...1000 then 3 else 4 end leftover_digits = max_digits - used_digits [ value, suffix, leftover_digits > 0 ? leftover_digits : 0 ] end "%.#{precision}f#{suffix}" % value end
Private Instance Methods
nice_bytes( bytes, max_digits=3 )
click to toggle source
# File lib/ruic/nicebytes.rb, line 6 def nice_bytes( bytes, max_digits=3 ) value, suffix, precision = case bytes when 0...K [ bytes, 'B', 0 ] else value, suffix = case bytes when K...M then [ bytes / K, 'kB' ] when M...G then [ bytes / M, 'MB' ] when G...T then [ bytes / G, 'GB' ] else [ bytes / T, 'TB' ] end used_digits = case value when 0...10 then 1 when 10...100 then 2 when 100...1000 then 3 else 4 end leftover_digits = max_digits - used_digits [ value, suffix, leftover_digits > 0 ? leftover_digits : 0 ] end "%.#{precision}f#{suffix}" % value end