From 5c04ca87d86074e84e4ff51bcf08b113f464558b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Mon, 2 Dec 2013 22:20:35 -0200 Subject: Make execute priave API --- activesupport/lib/active_support/number_helper.rb | 14 +++++++------- .../lib/active_support/number_helper/number_converter.rb | 3 +++ .../number_helper/number_to_currency_converter.rb | 2 +- .../number_helper/number_to_human_converter.rb | 2 +- .../number_helper/number_to_human_size_converter.rb | 2 +- .../number_helper/number_to_percentage_converter.rb | 2 +- .../number_helper/number_to_rounded_converter.rb | 3 ++- 7 files changed, 16 insertions(+), 12 deletions(-) (limited to 'activesupport/lib') diff --git a/activesupport/lib/active_support/number_helper.rb b/activesupport/lib/active_support/number_helper.rb index 2df1aada50..c6658dba96 100644 --- a/activesupport/lib/active_support/number_helper.rb +++ b/activesupport/lib/active_support/number_helper.rb @@ -42,7 +42,7 @@ module ActiveSupport # number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: '.') # # => +1.123.555.1234 x 1343 def number_to_phone(number, options = {}) - NumberToPhoneConverter.new(number, options).execute + NumberToPhoneConverter.convert(number, options) end # Formats a +number+ into a currency string (e.g., $13.65). You @@ -84,7 +84,7 @@ module ActiveSupport # number_to_currency(1234567890.50, unit: '£', separator: ',', delimiter: '', format: '%n %u') # # => 1234567890,50 £ def number_to_currency(number, options = {}) - NumberToCurrencyConverter.new(number, options).execute + NumberToCurrencyConverter.convert(number, options) end # Formats a +number+ as a percentage string (e.g., 65%). You can @@ -120,7 +120,7 @@ module ActiveSupport # number_to_percentage('98a') # => 98a% # number_to_percentage(100, format: '%n %') # => 100 % def number_to_percentage(number, options = {}) - NumberToPercentageConverter.new(number, options).execute + NumberToPercentageConverter.convert(number, options) end # Formats a +number+ with grouped thousands using +delimiter+ @@ -149,7 +149,7 @@ module ActiveSupport # number_to_delimited(98765432.98, delimiter: ' ', separator: ',') # # => 98 765 432,98 def number_to_delimited(number, options = {}) - NumberToDelimitedConverter.new(number, options).execute + NumberToDelimitedConverter.convert(number, options) end # Formats a +number+ with the specified level of @@ -192,7 +192,7 @@ module ActiveSupport # number_to_rounded(1111.2345, precision: 2, separator: ',', delimiter: '.') # # => 1.111,23 def number_to_rounded(number, options = {}) - NumberToRoundedConverter.new(number, options).execute + NumberToRoundedConverter.convert(number, options) end # Formats the bytes in +number+ into a more understandable @@ -240,7 +240,7 @@ module ActiveSupport # number_to_human_size(1234567890123, precision: 5) # => "1.1229 TB" # number_to_human_size(524288000, precision: 5) # => "500 MB" def number_to_human_size(number, options = {}) - NumberToHumanSizeConverter.new(number, options).execute + NumberToHumanSizeConverter.convert(number, options) end # Pretty prints (formats and approximates) a number in a way it @@ -341,7 +341,7 @@ module ActiveSupport # number_to_human(1, units: :distance) # => "1 meter" # number_to_human(0.34, units: :distance) # => "34 centimeters" def number_to_human(number, options = {}) - NumberToHumanConverter.new(number, options).execute + NumberToHumanConverter.convert(number, options) end end diff --git a/activesupport/lib/active_support/number_helper/number_converter.rb b/activesupport/lib/active_support/number_helper/number_converter.rb index 39255d14a3..0afa08db84 100644 --- a/activesupport/lib/active_support/number_helper/number_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_converter.rb @@ -115,6 +115,9 @@ module ActiveSupport } } + def self.convert(number, options) + new(number, options).execute + end def initialize(number, opts = {}) @number = number diff --git a/activesupport/lib/active_support/number_helper/number_to_currency_converter.rb b/activesupport/lib/active_support/number_helper/number_to_currency_converter.rb index 113e557415..90a3cede3a 100644 --- a/activesupport/lib/active_support/number_helper/number_to_currency_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_to_currency_converter.rb @@ -13,7 +13,7 @@ module ActiveSupport number = absolute_value(number) end - rounded_number = NumberToRoundedConverter.new(number, options).execute + rounded_number = NumberToRoundedConverter.convert(number, options) format.gsub('%n', rounded_number).gsub('%u', options[:unit]) end diff --git a/activesupport/lib/active_support/number_helper/number_to_human_converter.rb b/activesupport/lib/active_support/number_helper/number_to_human_converter.rb index 3cdf6ff9f8..0c1a7250e3 100644 --- a/activesupport/lib/active_support/number_helper/number_to_human_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_to_human_converter.rb @@ -23,7 +23,7 @@ module ActiveSupport unit = determine_unit(units, exponent) - rounded_number = NumberToRoundedConverter.new(@number, options).execute + rounded_number = NumberToRoundedConverter.convert(@number, options) format.gsub(/%n/, rounded_number).gsub(/%u/, unit).strip end diff --git a/activesupport/lib/active_support/number_helper/number_to_human_size_converter.rb b/activesupport/lib/active_support/number_helper/number_to_human_size_converter.rb index 6a0f6e70b7..467ad030b5 100644 --- a/activesupport/lib/active_support/number_helper/number_to_human_size_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_to_human_size_converter.rb @@ -19,7 +19,7 @@ module ActiveSupport number_to_format = @number.to_i.to_s else human_size = @number / (base ** exponent) - number_to_format = NumberToRoundedConverter.new(human_size, options).execute + number_to_format = NumberToRoundedConverter.convert(human_size, options) end conversion_format.gsub(/%n/, number_to_format).gsub(/%u/, unit) end diff --git a/activesupport/lib/active_support/number_helper/number_to_percentage_converter.rb b/activesupport/lib/active_support/number_helper/number_to_percentage_converter.rb index b7926cf151..c654bfaa3a 100644 --- a/activesupport/lib/active_support/number_helper/number_to_percentage_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_to_percentage_converter.rb @@ -5,7 +5,7 @@ module ActiveSupport self.namespace = :percentage def convert - rounded_number = NumberToRoundedConverter.new(number, options).execute + rounded_number = NumberToRoundedConverter.convert(number, options) options[:format].gsub('%n', rounded_number) end diff --git a/activesupport/lib/active_support/number_helper/number_to_rounded_converter.rb b/activesupport/lib/active_support/number_helper/number_to_rounded_converter.rb index 355c810dc9..820e1534e2 100644 --- a/activesupport/lib/active_support/number_helper/number_to_rounded_converter.rb +++ b/activesupport/lib/active_support/number_helper/number_to_rounded_converter.rb @@ -19,7 +19,8 @@ module ActiveSupport rounded_number = BigDecimal.new(@number.to_s).round(precision).to_f rounded_number = rounded_number.abs if rounded_number.zero? # prevent showing negative zeros end - delimited_number = NumberToDelimitedConverter.new("%01.#{precision}f" % rounded_number, options).execute + + delimited_number = NumberToDelimitedConverter.convert("%01.#{precision}f" % rounded_number, options) format_number(delimited_number) end -- cgit v1.2.3