Active Model Naming
Creates a model_name method on your object.
To implement, just extend ActiveModel::Naming in your object:
class BookCover extend ActiveModel::Naming end BookCover.model_name # => "BookCover" BookCover.model_name.human # => "Book cover" BookCover.model_name.i18n_key # => "book_cover" BookModule::BookCover.model_name.i18n_key # => "book_module.book_cover"
Providing the functionality that ActiveModel::Naming provides in your object is required to pass the Active Model Lint test. So either extending the provided method below, or rolling your own is required..