Class: ActiveSupport::NumberHelper::NumberConverter
- Defined in:
- lib/active_support/number_helper/number_converter.rb
Overview
:nodoc:
Direct Known Subclasses
NumberToCurrencyConverter, NumberToDelimitedConverter, NumberToHumanConverter, NumberToHumanSizeConverter, NumberToPercentageConverter, NumberToPhoneConverter, NumberToRoundedConverter
Constant Summary collapse
- DEFAULTS =
{ # Used in number_to_delimited # These are also the defaults for 'currency', 'percentage', 'precision', and 'human' format: { # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5) separator: ".", # Delimits thousands (e.g. 1,000,000 is a million) (always in groups of three) delimiter: ",", # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00) precision: 3, # If set to true, precision will mean the number of significant digits instead # of the number of decimal digits (1234 with precision 2 becomes 1200, 1.23543 becomes 1.2) significant: false, # If set, the zeros after the decimal separator will always be stripped (eg.: 1.200 will be 1.2) strip_insignificant_zeros: false }, # Used in number_to_currency currency: { format: { format: "%u%n", negative_format: "-%u%n", unit: "$", # These five are to override number.format and are optional separator: ".", delimiter: ",", precision: 2, significant: false, strip_insignificant_zeros: false } }, # Used in number_to_percentage percentage: { format: { delimiter: "", format: "%n%" } }, # Used in number_to_rounded precision: { format: { delimiter: "" } }, # Used in number_to_human_size and number_to_human human: { format: { # These five are to override number.format and are optional delimiter: "", precision: 3, significant: true, strip_insignificant_zeros: true }, # Used in number_to_human_size storage_units: { # Storage units output formatting. # %u is the storage unit, %n is the number (default: 2 MB) format: "%n %u", units: { byte: "Bytes", kb: "KB", mb: "MB", gb: "GB", tb: "TB" } }, # Used in number_to_human decimal_units: { format: "%n %u", # Decimal units output formatting # By default we will only quantify some of the exponents # but the commented ones might be defined or overridden # by the user. units: { # femto: Quadrillionth # pico: Trillionth # nano: Billionth # micro: Millionth # mili: Thousandth # centi: Hundredth # deci: Tenth unit: "", # ten: # one: Ten # other: Tens # hundred: Hundred thousand: "Thousand", million: "Million", billion: "Billion", trillion: "Trillion", quadrillion: "Quadrillion" } } } }
Instance Attribute Summary collapse
-
#number ⇒ Object
readonly
Returns the value of attribute number.
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Class Method Summary collapse
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(number, options) ⇒ NumberConverter
constructor
A new instance of NumberConverter.
Constructor Details
#initialize(number, options) ⇒ NumberConverter
Returns a new instance of NumberConverter.
123 124 125 126 |
# File 'lib/active_support/number_helper/number_converter.rb', line 123 def initialize(number, ) @number = number @opts = .symbolize_keys end |
Instance Attribute Details
#number ⇒ Object (readonly)
Returns the value of attribute number.
18 19 20 |
# File 'lib/active_support/number_helper/number_converter.rb', line 18 def number @number end |
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
18 19 20 |
# File 'lib/active_support/number_helper/number_converter.rb', line 18 def opts @opts end |
Class Method Details
.convert(number, options) ⇒ Object
119 120 121 |
# File 'lib/active_support/number_helper/number_converter.rb', line 119 def self.convert(number, ) new(number, ).execute end |
Instance Method Details
#execute ⇒ Object
128 129 130 131 132 133 134 135 136 |
# File 'lib/active_support/number_helper/number_converter.rb', line 128 def execute if !number nil elsif validate_float? && !valid_float? number else convert end end |