Making Rails 2.0 reload engine controllers and models


I’ve been working on a solution for making rails reload engine
controllers and models. Initially, after a fair amount of googling, I
came up with the following, in development.rb:

config.after_initialize {
Dependencies.load_once_paths = {
|path| (path =~ /app/).nil? }

While this solves the problem, I figured it would be even better to do
it within the engines, which lead to this dirty hack:

in engines/lib/engines/plugin.rb, I added the following at the end of
the load method:

  if ::RAILS_ENV == 'development'
    Dependencies.load_once_paths = { |path| (path =~
/#{name}/app/).nil? }

A possibly cleaner approach would be to monkeypatch the
add_plugin_load_paths method in rail’s plugin loader, but it would
just be more code for the same effect.

Any thoughts?


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs