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 # File activesupport/lib/active_support/inflector/methods.rb, line 106
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