aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-04-07 06:56:49 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-04-07 06:56:49 +0000
commit4bdb25da181a8a7acd8956fe53a244224a08be21 (patch)
tree310f57cb2cd18edd261dce9c51727eed779d949b /actionpack/lib
parent7ad57c4f0295d1420f1853c0b1f1802b629d5375 (diff)
downloadrails-4bdb25da181a8a7acd8956fe53a244224a08be21.tar.gz
rails-4bdb25da181a8a7acd8956fe53a244224a08be21.tar.bz2
rails-4bdb25da181a8a7acd8956fe53a244224a08be21.zip
Update to the helper to abstract delimeting a number #1015
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1111 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_view/helpers/number_helper.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/helpers/number_helper.rb b/actionpack/lib/action_view/helpers/number_helper.rb
index e93be4e1a2..d0019aa07d 100644
--- a/actionpack/lib/action_view/helpers/number_helper.rb
+++ b/actionpack/lib/action_view/helpers/number_helper.rb
@@ -35,14 +35,13 @@ module ActionView
# Examples:
# number_to_currency(1234567890.50) => $1,234,567,890.50
# number_to_currency(1234567890.506) => $1,234,567,890.51
- # number_to_currency(1234567890.50, {:unit => "&pound;", :separator => ",", :delim => ""}) => &pound;123456789,50
+ # number_to_currency(1234567890.50, {:unit => "&pound;", :separator => ",", :delimeter => ""}) => &pound;123456789,50
def number_to_currency(number, options = {})
options = options.stringify_keys
- precision, unit, separator, delim = options.delete("precision") { 2 }, options.delete("unit") { "$" }, options.delete("separator") { "." }, options.delete("delim") { "," }
+ precision, unit, separator, delimeter = options.delete("precision") { 2 }, options.delete("unit") { "$" }, options.delete("separator") { "." }, options.delete("delimeter") { "," }
begin
parts = number_with_precision(number, precision).split('.')
- parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delim}")
- unit + parts[0] + separator + parts[1].to_s
+ unit + number_with_delimeter(parts[0]) + separator + parts[1].to_s
rescue
number
end
@@ -71,6 +70,13 @@ module ActionView
end
end
+ # Formats a +number+ with a +delimeter+.
+ # Example:
+ # number_with_delimeter(12345678) => 1,235,678
+ def number_with_delimeter(number, delimeter=",")
+ number.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimeter}"
+ end
+
# Formats a +number+ with a level of +precision+.
# Example:
# number_with_precision(111.2345) => 111.235