From 3229b59495270a094d3a0f83814f1c3d5ebec7e3 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 3 Jan 2008 00:16:47 +0000 Subject: Fixed String#titleize to work for strings with 's too (closes #10571) [trek] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/CHANGELOG | 2 ++ activesupport/lib/active_support/inflector.rb | 2 +- activesupport/test/inflector_test_cases.rb | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index f708302c7e..e8235fb4a1 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed String#titleize to work for strings with 's too #10571 [trek] + * Changed the implementation of Enumerable#group_by to use a double array approach instead of a hash such that the insert order is honored [DHH/Marcel] * remove multiple enumerations from ActiveSupport::JSON#convert_json_to_yaml when dealing with date/time values. [rick] diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb index baa342f669..ee5d5753c9 100644 --- a/activesupport/lib/active_support/inflector.rb +++ b/activesupport/lib/active_support/inflector.rb @@ -162,7 +162,7 @@ module Inflector # "man from the boondocks".titleize #=> "Man From The Boondocks" # "x-men: the last stand".titleize #=> "X Men: The Last Stand" def titleize(word) - humanize(underscore(word)).gsub(/\b([a-z])/) { $1.capitalize } + humanize(underscore(word)).gsub(/\b('?[a-z])/) { $1.capitalize } end # The reverse of +camelize+. Makes an underscored form from the expression in the string. diff --git a/activesupport/test/inflector_test_cases.rb b/activesupport/test/inflector_test_cases.rb index 83fd4c8e56..a9dd83a389 100644 --- a/activesupport/test/inflector_test_cases.rb +++ b/activesupport/test/inflector_test_cases.rb @@ -155,7 +155,10 @@ module InflectorTestCases 'Action Web Service' => 'Action Web Service', 'Action web service' => 'Action Web Service', 'actionwebservice' => 'Actionwebservice', - 'Actionwebservice' => 'Actionwebservice' + 'Actionwebservice' => 'Actionwebservice', + "david's code" => "David's Code", + "David's code" => "David's Code", + "david's Code" => "David's Code" } OrdinalNumbers = { -- cgit v1.2.3