Merge pull request #15871 from yuki24/add-model-name-instance-method

Add #model_name instance method to ActiveModel::Naming
This commit is contained in:
David Heinemeier Hansson 2014-06-24 13:54:58 +02:00
commit d5d94a7750
2 changed files with 12 additions and 0 deletions

@ -214,6 +214,12 @@ def _singularize(string, replacement='_')
# is required to pass the Active Model Lint test. So either extending the
# provided method below, or rolling your own is required.
module Naming
def self.extended(base) #:nodoc:
base.class_eval do
delegate :model_name, to: :class
end
end
# Returns an ActiveModel::Name object for module. It can be
# used to retrieve all kinds of naming-related information
# (See ActiveModel::Name for more information).

@ -272,3 +272,9 @@ def test_anonymous_class_with_name_argument
assert_equal "Anonymous", model_name
end
end
class NamingMethodDelegationTest < ActiveModel::TestCase
def test_model_name
assert_equal Blog::Post.model_name, Blog::Post.new.model_name
end
end