Method: ActiveSupport::Inflector#humanize
- Defined in:
- lib/active_support/inflector/methods.rb
#humanize(lower_case_and_underscored_word) ⇒ Object
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.
Examples:
"employee_salary" # => "Employee salary"
"author_id" # => "Author"
94 95 96 97 98 99 100 101 102 |
# File 'lib/active_support/inflector/methods.rb', line 94 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 |