/ / Richtige Möglichkeit, die Rails :: Engine für Abhängigkeitsedelsteine ​​anzugeben? - Ruby-on-Rails, Gem, Rails-Engines

Richtige Methode, um die Rails :: Engine für Abhängigkeits-Gems anzugeben? - Rubin-auf-Schienen, Edelstein-, Schienen-Motoren

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 № 1

Werfen Sie einen Blick auf die Art und Weise, wie Spree Commerce dies mit ihrem 2.x-Release tut.

Spree Commerce 2.x engine.rb