aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/number_helper
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2016-04-05 00:36:10 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2016-04-05 00:36:10 -0300
commit307eede533852406b887a30bbd1483da80b9dc71 (patch)
tree3a72e660191cab46ad7a875c4cd45a6420b6eae2 /activesupport/lib/active_support/number_helper
parentdcffeaea66130a8aa5f1591912bd8a335960bc14 (diff)
parent4e977da541307dd650917b49e9410a3ca753a944 (diff)
downloadrails-307eede533852406b887a30bbd1483da80b9dc71.tar.gz
rails-307eede533852406b887a30bbd1483da80b9dc71.tar.bz2
rails-307eede533852406b887a30bbd1483da80b9dc71.zip
Merge pull request #24401 from pan/number-to-phone
`number_to_phone` formats number with regexp
Diffstat (limited to 'activesupport/lib/active_support/number_helper')
-rw-r--r--activesupport/lib/active_support/number_helper/number_to_phone_converter.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/number_helper/number_to_phone_converter.rb b/activesupport/lib/active_support/number_helper/number_to_phone_converter.rb
index af2ee56d91..dee74fa7a6 100644
--- a/activesupport/lib/active_support/number_helper/number_to_phone_converter.rb
+++ b/activesupport/lib/active_support/number_helper/number_to_phone_converter.rb
@@ -18,12 +18,16 @@ module ActiveSupport
end
def convert_with_area_code(number)
- number.gsub!(/(\d{1,3})(\d{3})(\d{4}$)/,"(\\1) \\2#{delimiter}\\3")
+ default_pattern = /(\d{1,3})(\d{3})(\d{4}$)/
+ number.gsub!(regexp_pattern(default_pattern),
+ "(\\1) \\2#{delimiter}\\3")
number
end
def convert_without_area_code(number)
- number.gsub!(/(\d{0,3})(\d{3})(\d{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
+ default_pattern = /(\d{0,3})(\d{3})(\d{4})$/
+ number.gsub!(regexp_pattern(default_pattern),
+ "\\1#{delimiter}\\2#{delimiter}\\3")
number.slice!(0, 1) if start_with_delimiter?(number)
number
end
@@ -43,6 +47,11 @@ module ActiveSupport
def phone_ext(ext)
ext.blank? ? "" : " x #{ext}"
end
+
+ def regexp_pattern(default_pattern)
+ opts.fetch :pattern, default_pattern
+ end
+
end
end
end