Method: ActiveModel::Lint::Tests#test_model_naming

Defined in:
activemodel/lib/active_model/lint.rb

#test_model_namingObject

Passes if the object’s model responds to model_name both as an instance method and as a class method, and if calling this method returns a string with some convenience methods: :human, :singular and :plural.

Check ActiveModel::Naming for more information.



81
82
83
84
85
86
87
88
89
90
91
# File 'activemodel/lib/active_model/lint.rb', line 81

def test_model_naming
  assert_respond_to model.class, :model_name
  model_name = model.class.model_name
  assert_respond_to model_name, :to_str
  assert_respond_to model_name.human, :to_str
  assert_respond_to model_name.singular, :to_str
  assert_respond_to model_name.plural, :to_str

  assert_respond_to model, :model_name
  assert_equal model.model_name, model.class.model_name
end