I have 2 Rails applications mounting a Core
Engine. The Engine is used here to group common code between Rails applications (they have very similar business logic but views and some other things differ).
The Core::Engine
holds:
- common models
- common controllers and actions
- common libs
- common routes
Rails applications holds:
- specific models
- specific controllers or existing controller actions
- specific libs
- specific routes
Since I own the Core Engine and the Rails applications, I was wondering about the benefits of using isolate_namespace Core
.
Namespacing the Engine will avoid name collision but since my Engine is not meant to be mounted elsewhere, should I care ?
Moreover, namespacing is great but do not play well with routes since I would have to add core
or main_app
to every url helpers.
Question: Should I care about Engine namespacing in the case where the Engine is designed to DRY up common Rails application codebase ?