Class: ActiveSupport::NumberHelper::NumberToCurrencyConverter

Inherits:
NumberConverter show all
Defined in:
lib/active_support/number_helper/number_to_currency_converter.rb

Overview

:nodoc:

Constant Summary

Constants inherited from NumberConverter

ActiveSupport::NumberHelper::NumberConverter::DEFAULTS

Instance Attribute Summary

Attributes inherited from NumberConverter

#number, #opts

Instance Method Summary collapse

Methods inherited from NumberConverter

convert, #execute, #initialize

Constructor Details

This class inherits a constructor from ActiveSupport::NumberHelper::NumberConverter

Instance Method Details

#convertObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/active_support/number_helper/number_to_currency_converter.rb', line 10

def convert
  format = options[:format]

  number_d = valid_bigdecimal
  if number_d
    if number_d.negative?
      number_d = number_d.abs
      format = options[:negative_format] if (number_d * 10**options[:precision]) >= 0.5
    end
    number_s = NumberToRoundedConverter.convert(number_d, options)
  else
    number_s = number.to_s.strip
    format = options[:negative_format] if number_s.sub!(/^-/, "")
  end

  format.gsub("%n", number_s).gsub("%u", options[:unit])
end