instance method test_model_naming

Ruby on Rails 5.0.7.2

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

test_model_naming()

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.

Source
# File activemodel/lib/active_model/lint.rb, line 80
      def test_model_naming
        assert model.class.respond_to?(:model_name), "The model class should respond to model_name"
        model_name = model.class.model_name
        assert model_name.respond_to?(:to_str)
        assert model_name.human.respond_to?(:to_str)
        assert model_name.singular.respond_to?(:to_str)
        assert model_name.plural.respond_to?(:to_str)

        assert model.respond_to?(:model_name), "The model instance should respond to model_name"
        assert_equal model.model_name, model.class.model_name
      end

Defined in activemodel/lib/active_model/lint.rb line 80 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveModel::Lint::Tests

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close