isolate_namespace Railsエンジンのgemである親モジュール内に子モジュールをネストするための適切な構文は何ですか?
# lib/myengine/engine.rb
module MyEngine
class Engine < Rails::Engine
isolate_namespace Myengine
# def ...
end
end
例えば。親モジュールは MyEngine で、子モジュールは Blog です。MyEngine は CRUD、Taggable、Searchable などの共通ドメインを共有し、Gem コードを DRY に保ち、メイン アプリ (MyApp) から分離しながら、分離された名前空間とエンジンを継承します。
2つのアプローチのどちらが正しいですか? リファクタリングのアドバイスはありますか?
# A
# lib/myengine/blog.rb
module MyEngine
module Blog
# def ...
end
end
# B
# lib/myengine/blog.rb
module MyEngine
class Engine < Rails::Engine
isolate_namespace Myengine
module Blog
# def ...
end
end
end