Ich baue ein namenspaced Rails Engine Juwel welcheswird durch zusätzliche Edelsteine erweiterbar sein. Zum Beispiel: MyEngine ist das wichtigste Juwel, das auch der Namespace sein wird. MyEngine-Blog und MyEngine-Support sind optionale Juwelen, um das MyEngine-Juwel zu erweitern und gleichzeitig den MyEngine-Namespace zu erben.
MyEngine-Blog und MyEngine-Support hängen von MyEngine für die Kernfunktionalität ab und beide Juwelen werden enthalten sein spec.add_dependency "synculus"
in ihren gemspec-Dateien.
Was ist der richtige Weg, um die Rails::Engine
für die Abhängigkeitsedelsteine? Muss ich angeben class Engine < ::Rails::Engine
in jeder der MyEngine-blog & MyEngine-support gem "s engine.rb Dateien?
# 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
Antworten:
1 für die Antwort № 1Werfen Sie einen Blick auf die Art und Weise, wie Spree Commerce dies mit ihrem 2.x-Release tut.