>>432
word2cap = ['john rock', 'john', 'smith', 'mary', 'jane',]
re = Regexp.union(word2cap)
str.gsub!(/\b#{re}\b/){ $&.gsub!(/\b\w+/){$&.capitalize} }

Hash使うのとどっちが早いんだろな