追加の gem を介して拡張可能な、名前空間付きの Rails Engine gem を構築しています。例: MyEngine は、名前空間にもなるメインの gem です。MyEngine-blog と MyEngine-support は、MyEngine 名前空間を継承しながら MyEngine gem を拡張するオプションの gem です。
MyEngine-blog と MyEngine-support は、コア機能について MyEngine に依存しており、両方の gem がspec.add_dependency "synculus"
gemspec ファイルに含まれます。
Rails::Engine
依存ジェムを指定する適切な方法は何ですか? class Engine < ::Rails::Engine
MyEngine-blog & MyEngine-support gem の engine.rb ファイルのそれぞれで指定する必要がありますか?
# lib/myengine/engine.rb
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
end
end
# lib/myengine/blog/engine.rb
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
module Blog
end
end
end
# lib/myengine/support/engine.rb
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
module Support
end
end
end