Rails エンジンの仕組みをより深く理解しようと、devise プロジェクトのソースを調べています。
認証などをサポートするモデルに対してDevise::Models
呼び出されるメソッドを定義するモジュールがあります。devise
これまでのところすべて順調です。
https://github.com/plataformatec/devise/blob/master/lib/devise/models.rbを参照してください
しかし、このモジュールがモデルにどのように含まれているかを理解するのは難しいです。それはオートロードか何かですか?ジェネレーターを使用せずに新しいモデルを作成するとき、地獄のデバイスがアクセス可能な Devise::Models モジュールを作成して、直接呼び出すことができるようにしますdevise :trackable, :stuffable
。
それは私には暗いです。どんな説明でも大歓迎です。
読んでくれてありがとう。