class ActiveModel::Name

def human(options = {})

Specify +options+ with additional translating options.

BlogPost.model_name.human # => "Blog post"

end
extend ActiveModel::Naming
class BlogPost

it will underscore then humanize the class name.
Transform the model name into a more human format, using I18n. By default,
def human(options = {})
  return @human unless @klass.respond_to?(:lookup_ancestors) &&
                       @klass.respond_to?(:i18n_scope)
  defaults = @klass.lookup_ancestors.map do |klass|
    klass.model_name.i18n_key
  end
  defaults << options[:default] if options[:default]
  defaults << @human
  options = { scope: [@klass.i18n_scope, :models], count: 1, default: defaults }.merge!(options.except(:default))
  I18n.translate(defaults.shift, **options)
end