aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/inflector/methods.rb
diff options
context:
space:
mode:
authorPablo Herrero <pablodherrero@gmail.com>2014-10-18 03:47:05 -0300
committerPablo Herrero <pablodherrero@gmail.com>2014-10-29 16:20:52 -0300
commitc02a7e4f8239006ad01d1ca5d28f47cf9563920e (patch)
tree416e5ae7a64d142ca25b49a7aef94a6c7d6d7f48 /activesupport/lib/active_support/inflector/methods.rb
parent94c1a72aa9d943def7a160ec058ebeabcd032739 (diff)
downloadrails-c02a7e4f8239006ad01d1ca5d28f47cf9563920e.tar.gz
rails-c02a7e4f8239006ad01d1ca5d28f47cf9563920e.tar.bz2
rails-c02a7e4f8239006ad01d1ca5d28f47cf9563920e.zip
Do gsub with a regexp instead of a string
Diffstat (limited to 'activesupport/lib/active_support/inflector/methods.rb')
-rw-r--r--activesupport/lib/active_support/inflector/methods.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/inflector/methods.rb b/activesupport/lib/active_support/inflector/methods.rb
index 0e3c8517d1..637736c5df 100644
--- a/activesupport/lib/active_support/inflector/methods.rb
+++ b/activesupport/lib/active_support/inflector/methods.rb
@@ -90,7 +90,7 @@ module ActiveSupport
# 'SSLError'.underscore.camelize # => "SslError"
def underscore(camel_cased_word)
return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
- word = camel_cased_word.to_s.gsub('::', '/')
+ word = camel_cased_word.to_s.gsub(/::/, '/')
word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1 && '_'}#{$2.downcase}" }
word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')