aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/number_helper
Commit message (Collapse)AuthorAgeFilesLines
* :sicssors:Rafael Mendonça França2013-12-028-15/+2
|
* Options are not optionalRafael Mendonça França2013-12-021-2/+2
|
* Make execute priave APIRafael Mendonça França2013-12-026-5/+9
|
* Make load of NumberHelper thread safeRafael Mendonça França2013-12-027-19/+0
|
* Merge pull request #10996 from mattdbridges/number-helper-refactorRafael Mendonça França2013-12-021-2/+2
| | | | | | | Refactor and clean up number helpers Conflicts: activesupport/lib/active_support/number_helper.rb
* Extract ActiveSupport::NumberHelper methods to classesMatt Bridges2013-07-018-0/+518
Due to the overall complexity of each method individually as well as the global shared private module methods, this pulls each helper into it's own converter class inheriting from a generic `NumberBuilder` class. * The `NumberBuilder` class contains the private methods needed for each helper method an eliminates the need for special definition of specialized private module methods. * The `ActiveSupport::NumberHelper::DEFAULTS` constant has been moved into the `NumberBuilder` class because the `NumberBuilder` is the only class which needs access to it. * For each of the builders, the `#convert` method is broken down to smaller parts and extracted into private methods for clarity of purpose. * Most of the mutation that once was necessary has now been eliminated. * Several of the mathematical operations for percentage, delimited, and rounded have been moved into private methods to ease readability and clarity. * Internationalization is still a bit crufty, and definitely could be improved, but it is functional and a bit easier to follow. The following helpers were extracted into their respective classes. * `#number_to_percentage` -> `NumberToPercentageConverter` * `#number_to_delimited` -> `NumberToDelimitedConverter` * `#number_to_phone` -> `NumberToPhoneConverter` * `#number_to_currency` -> `NumberToCurrencyConverter` * `#number_to_rounded` -> `NumberToRoundedConverter` * `#number_to_human_size` -> `NumberToHumanSizeConverter` * `#number_to_human` -> `NumberToHumanConverter`