Se me ocurrió una solución a rake routes
, tardando unos 8 segundos en ejecutarse cada vez. Es un simple caché basado en archivos que ejecuta bundle exec rake routes
, almacena el resultado en un archivo bajo tmp. El nombre de archivo es el hash md5 de config/routes.rb
, por lo que si realiza un cambio y lo vuelve a cambiar, usará el archivo antiguo en caché.
puse las siguientes funciones de bash en un archivo ejecutable que llamo fastroutes
:
if [ ! -f config/routes.rb ]; then
echo "Not in root of rails app"
exit 1
fi
cached_routes_filename="tmp/cached_routes_$(md5 -q config/routes.rb).txt"
function cache_routes {
bundle exec rake routes > $cached_routes_filename
}
function clear_cache {
for old_file in $(ls tmp/cache_routes*.txt); do
rm $old_file
done
}
function show_cache {
cat $cached_routes_filename
}
function show_current_filename {
echo $cached_routes_filename
}
function main {
if [ ! -f $cached_routes_filename ]; then
cache_routes
fi
show_cache
}
if [[ "$1" == "-f" ]]
then
show_current_filename
elif [[ "$1" == "-r" ]]
then
rm $cached_routes_filename
cache_routes
else
main
fi
Aquí hay una github link también.
De esta manera, es suficiente para generar las rutas una vez, y luego fastroutes
se utilizan los valores almacenados en caché.
se trata sólo de rastrillo rutas que toma un tiempo? ¿Es lento iniciar tu servidor o la consola también? –
mejor u puede comprobar las rutas para el controlador controller = controllername rutas rastrillo particulares –
@Jan: servidor (aproximadamente 1:15 min) y la consola (doce y cuarenta y cinco minutos) también tomar un tiempo –