¿Cómo puedo solicitar activos dinámicamente en la cartera de activos de Rails 3.1?

Tengo un sistema basado en complementos que utilizo para el desarrollo de aplicaciones en Rails. Cada complemento implementa un motor con componentes MVC, etc. La aplicación principal es simplemente un arnés vacío que delega todo el trabajo a los complementos que están instalados.

Actualmente estoy actualizando a Rails 3.1 desde Rails 2.3.5, y estoy tratando de hacer que la cartera de activos funcione con mi marco.

El problema que tengo es tratar de requerir programáticamente los activos de mi complemento en, por ejemplo, el manifiesto application.js.

Puedo agregarlos manualmente de la siguiente manera:

//= require <plugin_manifest_path>

Y todo funciona como se esperaba. Sin embargo, como hay docenas de complementos en mi marco, y cada instalación tiene una combinación diferente, quiero tener este cambio manifiesto según los complementos que estén instalados. Intenté esto como una solución:

<%=
Rails.plugins.collect do |plugin|
  "//= require #{plugin}"
end.join("\n")
%>

Pero lo que descubrí es que la fase de requerimiento / directiva de la compilación de la canalización de activos ocurre antes de la expansión ERB, por lo que los comentarios generados simplemente terminaban como comentario

¿Existe otro mecanismo para incluir rutas de compilación que pueda funcionar? Cualquier forma de preprocesar un archivo de manifiestoantes d el procesamiento de directivas entra en acción?

Si no puedo pensar en nada mejor, es posible que tenga que escribir una tarea de rastrillo / implementación que genere un archivo de manifiesto plugin.js en la implementación, pero me encantaría algo más claro y elegante si es posible. ¡Gracias

EDITA: Solución encontrada, publicará la solución completa tan pronto como stackoverflow me lo permita. Vea los comentarios a continuación mientras tanto ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta