Class: Humr::Handler::SIPrefix
- Inherits:
-
Humr::Handler
- Object
- Humr::Handler
- Humr::Handler::SIPrefix
- Defined in:
- lib/humr/handler/si_prefix.rb
Constant Summary collapse
- PREFIXES =
[ '' ] + %w(k M G T P E Z Y)
Instance Method Summary collapse
Methods inherited from Humr::Handler
Instance Method Details
#base ⇒ Object
9 10 11 |
# File 'lib/humr/handler/si_prefix.rb', line 9 def base 1000 end |
#replace(s, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/humr/handler/si_prefix.rb', line 13 def replace(s, &block) if /^\d{4,}$/ === s s.gsub(/(\d{4,})/) do |size| n = size.to_f i = 0 while n >= base and i < PREFIXES.length - 1 n = n / base i = i + 1 end format = if n < 10 '%.1f%s' else '%d%s' end yield format % [ n, PREFIXES[i] ] end end end |