aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/inflector.rb4
-rw-r--r--activesupport/test/inflector_test.rb2
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",