# ri > ActiveModel::Naming

## [ActiveModel::Naming](https://www.chedong.com/phpMan.php/perldoc/ActiveModel%3A%3ANaming/markdown)

(from /home/chedong/.local/share/rdoc)
------------------------------------------------------------------------
### Active Model Naming

Creates a model_name method on your object.

To implement, just extend [ActiveModel::Naming](https://www.chedong.com/phpMan.php/perldoc/ActiveModel%3A%3ANaming/markdown) in your object:

  class BookCover
    extend [ActiveModel::Naming](https://www.chedong.com/phpMan.php/perldoc/ActiveModel%3A%3ANaming/markdown)
  end

  BookCover.model_name.name   # => "BookCover"
  BookCover.model_name.human  # => "Book cover"

  BookCover.model_name.i18n_key              # => :book_cover
  [BookModule::BookCover](https://www.chedong.com/phpMan.php/perldoc/BookModule%3A%3ABookCover/markdown).model_name.i18n_key  # => :"book_module/book_cover"

Providing the functionality that [ActiveModel::Naming](https://www.chedong.com/phpMan.php/perldoc/ActiveModel%3A%3ANaming/markdown) 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.
------------------------------------------------------------------------
## Class methods:

  param_key
  plural
  route_key
  singular
  singular_route_key
  uncountable?

## Instance methods:

  model_name

