Don't fallback to just adding "'s" in TextHelper#pluralize, because the Inflector is always loaded.

This commit is contained in:
Joshua Peek 2008-05-14 14:34:28 -05:00
parent bc3cc91a3f
commit 603c853a34
2 changed files with 73 additions and 93 deletions

View File

@ -147,10 +147,9 @@ module ActionView
end
end
# Attempts to pluralize the +singular+ word unless +count+ is 1. If +plural+
# is supplied, it will use that when count is > 1, if the ActiveSupport Inflector
# is loaded, it will use the Inflector to determine the plural form, otherwise
# it will just add an 's' to the +singular+ word.
# Attempts to pluralize the +singular+ word unless +count+ is 1. If
# +plural+ is supplied, it will use that when count is > 1, otherwise
# it will use the Inflector to determine the plural form
#
# ==== Examples
# pluralize(1, 'person')
@ -165,15 +164,7 @@ module ActionView
# pluralize(0, 'person')
# # => 0 people
def pluralize(count, singular, plural = nil)
"#{count || 0} " + if count == 1 || count == '1'
singular
elsif plural
plural
elsif Object.const_defined?("Inflector")
Inflector.pluralize(singular)
else
singular + "s"
end
"#{count || 0} " + ((count == 1 || count == '1') ? singular : (plural || singular.pluralize))
end
# Wraps the +text+ into lines no longer than +line_width+ width. This method

View File

@ -169,17 +169,6 @@ class TextHelperTest < ActionView::TestCase
assert_equal("10 buffaloes", pluralize(10, "buffalo"))
end
uses_mocha("should_just_add_s_for_pluralize_without_inflector_loaded") do
def test_should_just_add_s_for_pluralize_without_inflector_loaded
Object.expects(:const_defined?).with("Inflector").times(4).returns(false)
assert_equal("1 count", pluralize(1, "count"))
assert_equal("2 persons", pluralize(2, "person"))
assert_equal("2 personss", pluralize("2", "persons"))
assert_equal("2 counts", pluralize(2, "count"))
assert_equal("10 buffalos", pluralize(10, "buffalo"))
end
end
def test_auto_link_parsing
urls = %w(http://www.rubyonrails.com
http://www.rubyonrails.com:80