Module: FriendlyNumbers::NumberToCurrency

Defined in:
lib/friendly_numbers/number_to_currency.rb

Constant Summary collapse

DEFAULTS =
{
  precision: 2,
  unit: "$",
  separator: ","
}

Class Method Summary collapse

Class Method Details

.convert(value, options) ⇒ Object

:nodoc:



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/friendly_numbers/number_to_currency.rb', line 11

def convert(value, options) # :nodoc:
  options = DEFAULTS.merge(options)

  value = value.truncate(options[:precision]).to_f.to_s + ("0" * options[:precision].to_i)
  whole, part = value.split(".", 2)

  parted = whole.reverse.gsub(/...(?!-)(?=.)/, '\&,').reverse

  if options[:precision].nonzero?
    options[:unit] + parted + "." + part[0, options[:precision]]
  else
    options[:unit] + parted
  end
end