module

ActiveModel::Naming

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..

Files

  • activemodel/lib/active_model/naming.rb