Class: ActiveSupport::NumberHelper::NumberToCurrencyConverter

Inherits:
NumberConverter show all
Defined in:
activesupport/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 'activesupport/lib/active_support/number_helper/number_to_currency_converter.rb', line 10

def convert
  format = options[:format]

  number_f = valid_float?
  if number_f
    if number_f.negative?
      number_f = number_f.abs
      format = options[:negative_format] if (number_f * 10**options[:precision]) >= 0.5
    end
    number_s = NumberToRoundedConverter.convert(number_f, 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