aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2013-01-21 08:06:26 -0800
committerXavier Noria <fxn@hashref.com>2013-01-21 08:06:26 -0800
commit3f18f73c202644d6422702eb6e5416d7aa06c023 (patch)
tree81eecb64dd53dd2c605ad8b7c0b16bad1db28962
parentc6a39c01f78b406da91314acad26c860c9819804 (diff)
parentef4ac7a48979f6232591db88599d5ff8ae95b20b (diff)
downloadrails-3f18f73c202644d6422702eb6e5416d7aa06c023.tar.gz
rails-3f18f73c202644d6422702eb6e5416d7aa06c023.tar.bz2
rails-3f18f73c202644d6422702eb6e5416d7aa06c023.zip
Merge pull request #8671 from xuanxu/fix_irregular
Inflector irregular singularize rules
-rw-r--r--activesupport/lib/active_support/inflector/inflections.rb3
-rw-r--r--activesupport/test/inflector_test_cases.rb1
2 files changed, 4 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/inflector/inflections.rb b/activesupport/lib/active_support/inflector/inflections.rb
index 9cf4b2b2ba..e80efffe82 100644
--- a/activesupport/lib/active_support/inflector/inflections.rb
+++ b/activesupport/lib/active_support/inflector/inflections.rb
@@ -132,6 +132,7 @@ module ActiveSupport
plural(Regexp.new("(#{singular[0,1]})#{singular[1..-1]}$", "i"), '\1' + plural[1..-1])
plural(Regexp.new("(#{plural[0,1]})#{plural[1..-1]}$", "i"), '\1' + plural[1..-1])
singular(Regexp.new("(#{plural[0,1]})#{plural[1..-1]}$", "i"), '\1' + singular[1..-1])
+ singular(Regexp.new("(#{singular[0,1]})#{singular[1..-1]}$", "i"), '\1' + singular[1..-1])
else
plural(Regexp.new("#{singular[0,1].upcase}(?i)#{singular[1..-1]}$"), plural[0,1].upcase + plural[1..-1])
plural(Regexp.new("#{singular[0,1].downcase}(?i)#{singular[1..-1]}$"), plural[0,1].downcase + plural[1..-1])
@@ -139,6 +140,8 @@ module ActiveSupport
plural(Regexp.new("#{plural[0,1].downcase}(?i)#{plural[1..-1]}$"), plural[0,1].downcase + plural[1..-1])
singular(Regexp.new("#{plural[0,1].upcase}(?i)#{plural[1..-1]}$"), singular[0,1].upcase + singular[1..-1])
singular(Regexp.new("#{plural[0,1].downcase}(?i)#{plural[1..-1]}$"), singular[0,1].downcase + singular[1..-1])
+ singular(Regexp.new("#{singular[0,1].upcase}(?i)#{singular[1..-1]}$"), singular[0,1].upcase + singular[1..-1])
+ singular(Regexp.new("#{singular[0,1].downcase}(?i)#{singular[1..-1]}$"), singular[0,1].downcase + singular[1..-1])
end
end
diff --git a/activesupport/test/inflector_test_cases.rb b/activesupport/test/inflector_test_cases.rb
index ca4efd2e59..7704300938 100644
--- a/activesupport/test/inflector_test_cases.rb
+++ b/activesupport/test/inflector_test_cases.rb
@@ -310,5 +310,6 @@ module InflectorTestCases
'move' => 'moves',
'cow' => 'kine',
'zombie' => 'zombies',
+ 'genus' => 'genera'
}
end