lib/flydata/helpers.rb in flydata-0.2.8 vs lib/flydata/helpers.rb in flydata-0.2.9

- old
+ new

@@ -100,7 +100,18 @@ else raise end end end + + UNIT_PREFIX = %W(TB GB MB KB B).freeze + def as_size( s ) + s = s.to_f + i = UNIT_PREFIX.length - 1 + while s > 512 && i > 0 + s /= 1024 + i -= 1 + end + ((s > 9 || s.modulo(1) < 0.1 ? '%d' : '%.1f') % s) + ' ' + UNIT_PREFIX[i] + end end end