diff options
Diffstat (limited to 'activemodel')
-rw-r--r-- | activemodel/lib/active_model/lint.rb | 14 | ||||
-rw-r--r-- | activemodel/test/cases/lint_test.rb | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/lint.rb b/activemodel/lib/active_model/lint.rb index 1c2347adbf..0be82aa180 100644 --- a/activemodel/lib/active_model/lint.rb +++ b/activemodel/lib/active_model/lint.rb @@ -41,6 +41,20 @@ module ActiveModel assert_boolean model.destroyed?, "destroyed?" end + # naming + # ------ + # + # Model.model_name must returns a string with some convenience methods as + # :human and :partial_path. Check ActiveModel::Naming for more information. + # + def test_model_naming + assert model.class.respond_to?(:model_name), "The model should respond to model_name" + model_name = model.class.model_name + assert_kind_of String, model_name + assert_kind_of String, model_name.human + assert_kind_of String, model_name.partial_path + end + # errors # ------ # diff --git a/activemodel/test/cases/lint_test.rb b/activemodel/test/cases/lint_test.rb index da7d2112dc..63804004ee 100644 --- a/activemodel/test/cases/lint_test.rb +++ b/activemodel/test/cases/lint_test.rb @@ -4,6 +4,8 @@ class LintTest < ActiveModel::TestCase include ActiveModel::Lint::Tests class CompliantModel + extend ActiveModel::Naming + def to_model self end |