Closed hlascelles closed 3 weeks ago
@hlascelles - your builds are failing because the Travis config picks up different Bundler gemfiles for different Ruby versions (in figaro/gemfiles
) so you'll need to add combustion
to each of those.
This change has been extracted and added (https://github.com/hlascelles/figjam/pull/7) to a fork and continuation of this repo, and a new gem called Figjam: https://github.com/hlascelles/figjam
Figaro should be able to be used in the initializer of a Rails engine. Unfortunately, when testing the engine using a tool like Combustion, we see that the Railtie to load figaro is added immediately after the definition of
Figaro::Rails::Application
.This can (and sometimes does) mean that the
before_configuration
block of that Railtie is immediately executed. At this point, theFigaro.adapter
is stillnil
, so it is lazily created as aFigaro::Application
. The Railtie then callsFigaro.load
on it, and it blows up asdefault_path
throws aNotImplementedError
.The solution is to set the adapter to a
Figaro::Rails::Application
as soon as possible, and before the Railtie is created.This PR makes that 2 line swap change, and adds Combustion to the specs. If the two lines of logic are not swapped, you can see how the initializing process fails.