humanize(lower_case_and_underscored_word)
public
Capitalizes the first word and turns underscores into spaces and strips a
trailing “_id”, if any. Like titleize, this is meant for
creating pretty output.
'employee_salary'.humanize
'author_id'.humanize
Show source
def humanize(lower_case_and_underscored_word)
result = lower_case_and_underscored_word.to_s.dup
inflections.humans.each { |(rule, replacement)| break if result.sub!(rule, replacement) }
result.gsub!(/_id$/, "")
result.tr!('_', ' ')
result.gsub(/([a-z\d]*)/) { |match|
"#{inflections.acronyms[match] || match.downcase}"
}.gsub(/^\w/) { $&.upcase }
end