You can use gsub with a regular expression that matches the first character of each word and replaces it with an uppercase character:
ruby-1.9.2-p180 :001 > 'omega-3 (DHA)'.gsub(/\b\w/){ $&.upcase }
=> "Omega-3 (DHA)"
[... , ... gsub . s[0] = s[0].upcase .]