abepetrillo/evergreen

Option for evergreen to run its own server instead of mounting on top of Rails application

Opened this issue · 2 comments

dlee commented

I have a catch-all route get "*path" => "controller#method" that prevents tests from reaching /evergreen.

I was surprised at first that javascript tests would have anything to do with Rails routes.

My assumption is that you run evergreen on the actual app server to support sprockets. I suggest running a standalone evergreen server that has sprocket support instead of starting up the entire Rails app. Besides, loading the entire Rails app is quite a heavy bootstrapping requirement that loads a bunch of unnecessary dependencies.

At the minimum, the evergreen server should always have /evergreen accessible, even if that means adding a Rails route map that has precedence over all other routes.

dlee commented

For now, I've added this to the top of the routes as a workaround:

if Rails.env.development? || Rails.env.test?
  mount ::Evergreen::Application => "/evergreen"
end

Note to self: @thomet has been working on something very similar to this in Sage.