diff options
-rw-r--r-- | activesupport/CHANGELOG | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/inflector.rb | 4 | ||||
-rw-r--r-- | activesupport/test/inflector_test.rb | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index cd8896ade9..2e2e16ccd9 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed inflections of "index/indices" #1766 [damn_pepe@gmail.com] + * Added stripping of _id to String#humanize, so "employee_id" becomes "Employee" #1574 [Justin French] * Factor Fixnum and Bignum extensions into Integer extensions [Nicholas Seckar] diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb index 149b962579..ae1cbd213d 100644 --- a/activesupport/lib/active_support/inflector.rb +++ b/activesupport/lib/active_support/inflector.rb @@ -82,7 +82,7 @@ module Inflector [ [/^(ox)$/i, '\1\2en'], # ox [/([m|l])ouse$/i, '\1ice'], # mouse, louse - [/(matr|vert)ix|ex$/i, '\1ices'], # matrix, vertex, index + [/(matr|vert|ind)ix|ex$/i, '\1ices'], # matrix, vertex, index [/(x|ch|ss|sh)$/i, '\1es'], # search, switch, fix, box, process, address [/([^aeiouy]|qu)ies$/i, '\1y'], [/([^aeiouy]|qu)y$/i, '\1ies'], # query, ability, agency @@ -106,7 +106,7 @@ module Inflector def singular_rules #:doc: [ [/(matr)ices$/i, '\1ix'], - [/(vert)ices$/i, '\1ex'], + [/(vert|ind)ices$/i, '\1ex'], [/^(ox)en/i, '\1'], [/(alias)es$/i, '\1'], [/([octop|vir])i$/i, '\1us'], diff --git a/activesupport/test/inflector_test.rb b/activesupport/test/inflector_test.rb index 26aea141fe..4337dfd9d6 100644 --- a/activesupport/test/inflector_test.rb +++ b/activesupport/test/inflector_test.rb @@ -29,6 +29,8 @@ class InflectorTest < Test::Unit::TestCase "archive" => "archives", + "index" => "indices", + "wife" => "wives", "safe" => "saves", "half" => "halves", |