Method: ActiveModel::Name#human
- Defined in:
- activemodel/lib/active_model/naming.rb
#human(options = {}) ⇒ Object
Transform the model name into a more human format, using I18n. By default, it will underscore then humanize the class name.
class BlogPost
extend ActiveModel::Naming
end
BlogPost.model_name.human # => "Blog post"
Specify options with additional translating options.
197 198 199 200 201 202 203 204 205 206 207 |
# File 'activemodel/lib/active_model/naming.rb', line 197 def human( = {}) return @human if i18n_keys.empty? || i18n_scope.empty? key, *defaults = i18n_keys defaults << [:default] if [:default] defaults << MISSING_TRANSLATION translation = I18n.translate(key, scope: i18n_scope, count: 1, **, default: defaults) translation = @human if translation == MISSING_TRANSLATION translation end |