I have an interesting use case for Rails and I would greatly appreciate
this community’s opinion on the matter.
I’m curious if it’s possible to build a Rails app that can accomplish
the
following:
Environment stipulations
- Must run on the JVM so JRuby.
- The app will not have internet access in production. (We still have
build
servers that can package gems)
Ideal functionality
- The main Rails app should be able to support a variable amount of
engines.- I have played with this and it can be done by tweaking the Gemfile
to
load the engines. - Downside is we now have to disregard the Gemfile.lock to
accommodate
additional engines being added at any time.
- I have played with this and it can be done by tweaking the Gemfile
- Engines should be drop-in ready.
- The engines should come packaged with all the gems they need to
run.
- The engines should come packaged with all the gems they need to
- There should be no additional installing steps after dropping in an
engine.- That means no ‘bundle install’ or anything else.
So my major concern at the moment is with the gems. When I drop in an
engine and restart the server is there a way bundler can pick up the
packaged gems within the engine without any install step? Maybe playing
with the GEM_PATH or something? Anyway I would like to hear your
opinions
and see if we can figure something out. Thanks for checking this out!