Acá les dejo algunas tareas de rake que suelo agregar cuando comienzo un proyecto nuevo, son para sacar las cosas que no tienen que estar bajo control de versión y para crear los archivos de log (cuando lo necesitemos):
lib/tasks/log.rake
namespace :log dodesc "Crear los directorios y archivos de log" task :create do
system 'mkdir -p log' system '> log/development.log' system '> log/production.log' system '> log/server.log' system '> log/test.log'
end
desc "Cambia el grupo del directorio los archivos de log a www-data y pone permisos de lectura/escritura para el grupo" task :set_permissions_for_apache do
system 'chgrp -R www-data log' system 'chmod -R g+rw log/'
end
desc "Saca los archivos de log del svn" task :remove_svn do
system 'svn remove log/*' system "svn commit -m 'Estas cosas no van en el svn'" system "svn propset svn:ignore '*.log' 'log/'" system 'svn update log/' system "svn commit -m 'Ingnorar los archivos en log/'" end
end
lib/tasks/tmp.rake
namespace :tmp dodesc "Cambia el grupo del directorio los archivos de log a www-data y pone permisos de lectura/escritura para el grupo" task :set_permissions_for_apache do
system 'chgrp -R www-data tmp' system 'chmod -R g+rw tmp'
end
desc "Saca los archivos de tmp del svn" task :remove_svn do
system 'svn remove tmp/cache/*' system 'svn remove tmp/sessions/*' system 'svn remove tmp/sockets/*'
system "svn commit -m 'Los archivos temporales no van en el svn'"
system 'svn propset svn:ignore "*" tmp/' system 'svn propset svn:ignore "*" tmp/cache/' system 'svn propset svn:ignore "*" tmp/sessions/' system 'svn propset svn:ignore "*" tmp/sockets/'
system 'svn update tmp/' system "svn commit -m 'Ingnorar los archivos en tmp/'" end end
lib/tasks/db.rake
namespace :db dodesc "Saca el archivo database.yml del svn" task :rm_conf_file_svn do system 'svn move config/database.yml config/database-ejemplo.yml' system "svn commit -m 'El archivo database.yml no va en el svn'" system "svn propset svn:ignore 'database.yml' 'config/'" system 'svn update config/' system "svn commit -m 'Ingnorar el archivo config/database.yml'" system 'cp config/database-ejemplo.yml config/database.yml' end
desc "Genera el archivo database.yml" task :gen_conf_file do system 'cp config/database-ejemplo.yml config/database.yml' end end