module ActiveSupport::Inflector

def humanize(lower_case_and_underscored_word)

"author_id" # => "Author"
"employee_salary" # => "Employee salary"
Examples:

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