Fixed Inflector for words like "news" and "series" that are the same in plural and singular #603 [echion], #615 [marcenuc]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@618 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
b1999be5a7
commit
603ab7d812
|
@ -1,3 +1,5 @@
|
|||
* Fixed Inflector for words like "news" and "series" that are the same in plural and singular #603 [echion], #615 [marcenuc]
|
||||
|
||||
* Added Hash#stringify_keys and Hash#stringify_keys!
|
||||
|
||||
* Added IndifferentAccess as a way to wrap a hash by a symbol-based store that also can be accessed by string keys
|
||||
|
|
|
@ -58,6 +58,7 @@ module Inflector
|
|||
def plural_rules #:doc:
|
||||
[
|
||||
[/(x|ch|ss|sh)$/, '\1es'], # search, switch, fix, box, process, address
|
||||
[/series$/, '\1series'],
|
||||
[/([^aeiouy]|qu)ies$/, '\1y'],
|
||||
[/([^aeiouy]|qu)y$/, '\1ies'], # query, ability, agency
|
||||
[/(?:([^f])fe|([lr])f)$/, '\1\2ves'], # half, safe, wife
|
||||
|
@ -75,6 +76,7 @@ module Inflector
|
|||
[
|
||||
[/(x|ch|ss)es$/, '\1'],
|
||||
[/movies$/, 'movie'],
|
||||
[/series$/, 'series'],
|
||||
[/([^aeiouy]|qu)ies$/, '\1y'],
|
||||
[/([lr])ves$/, '\1f'],
|
||||
[/([^f])ves$/, '\1fe'],
|
||||
|
@ -84,6 +86,7 @@ module Inflector
|
|||
[/men$/, 'man'],
|
||||
[/status$/, 'status'],
|
||||
[/children$/, 'child'],
|
||||
[/news$/, 'news'],
|
||||
[/s$/, '']
|
||||
]
|
||||
end
|
||||
|
|
|
@ -49,7 +49,13 @@ class InflectorTest < Test::Unit::TestCase
|
|||
"day" => "days",
|
||||
|
||||
"comment" => "comments",
|
||||
"foobar" => "foobars"
|
||||
"foobar" => "foobars",
|
||||
"newsletter" => "newsletters",
|
||||
|
||||
"old_news" => "old_news",
|
||||
"news" => "news",
|
||||
|
||||
"series" => "series"
|
||||
}
|
||||
|
||||
CamelToUnderscore = {
|
||||
|
@ -162,4 +168,4 @@ class InflectorTest < Test::Unit::TestCase
|
|||
assert_equal InflectorTest, Inflector.constantize("InflectorTest")
|
||||
assert_raises(NameError) { Inflector.constantize("UnknownClass") }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue