Plugins don't bubble syntax errors up correctly


I have this issue:

The RoR plugin mechanism is just plain horrible. Plugins do not work like
most ruby classes because they are loaded in a slightly convoluted way and
most errors end up getting swallowed by RoR. Of course this can be fixed,
but it is really annoying and makes programming even more stone-age than
it should be. You end up with errors like this:

in const_missing': uninitialized constant AjaxValidation (NameError) from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:133:in const_missing’
in `load_plugin’

The issue here is NOT that AjaxValidation isn’t defined. Instead, it is
that in the definition of AjaxValidation an error has occurred and this
caused the load of AjaxValidation to completely fail AND there is
absolutely no logging of the error that caused AjaxValidation to fail. So,
you resort to writing to stdout each line of code to figure out where the
problem is. That sucks.

So, is there any QnD fix to get the real error message out of the bogus
“unitialized constant” message? And is there any progress afoot to fix

Phlip ← NOT a blog!!!