Created: 2008-05-21 21:51
Updated: 2016-05-11 21:31
License: other


Ruby Title Case Build Status

This is a Ruby implementation of John Gruber's Title Case by Paul Mucur.


Simply pass any string to which you wish to apply title casing to the Title initializer and then use the to_title_case method. A Title instance has all the methods of the original string and so should be suitable for using interchangably with it.

For example:

require 'title'

greeting = Title.new("Hello there")
# => "Hello There"

Didn't this library previously re-open the String class and use DCI?

Yes, but I have since learnt the error of my ways.

Known Issues

Unlike the original Perl implementation, this version does not correctly capitalise characters such as é and is therefore limited in scope to strings consisting only of ASCII printable characters. A workaround would be to stop relying on the Ruby regular expression patterns of [A-Z], \w and \W for detecting capital letters, alphanumeric characters and non-alphanumeric characters respectively.

While it will deal with most common usage where you need a reasonably-correctly-cased sentence to be made suitable for a title, it will not correct mistakes such as lowercase acronyms or errant capital letters:

"at&t"  => "At&t"
"HellO" => "HellO"
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more