lib/cms_scanner/numeric.rb in cms_scanner-0.0.37.4 vs lib/cms_scanner/numeric.rb in cms_scanner-0.0.37.5
- old
+ new
@@ -1,10 +1,10 @@
# Hack of the Numeric class
class Numeric
# @return [ String ] A human readable string of the value
def bytes_to_human
units = %w(B KB MB GB TB)
- e = (Math.log(abs) / Math.log(1024)).floor
+ e = abs.zero? ? abs : (Math.log(abs) / Math.log(1024)).floor
s = format('%.3f', (abs.to_f / 1024**e))
s.sub(/\.?0*$/, ' ' + units[e])
end
end