Ademas de Rake, hay dos gemas que estan muy buenas para mejorar los scripts de Rake. Una se llama Sake, que te permite compartirlos facilmente entre distintos equipos. Y la otra que trae mejoras, se llama Thor. Te permite validar mejor los argumentos de entrada. Te dejo un link a Thor. http://yehudakatz.com/2008/05/12/by-thors-hammer/ Algo copado que vi tambien es como ejectuar un script que esta guardado en Git directamente desde Thor (sin hacer el checkout). Es decir, podrias tenerlos guardados en gisthub y usarlo desde diferentes eqiupos.
2009/3/31 Rodolinux <[email protected]>: > Una ventaja fundamental con las tareas Rake es que podes tener acceso > completo al environment de Rails, lo cual te proporciona las ventajas de > utilizar ActiveRecord, incluyendo los callbacks, associations y validations > en los modelos. En mi caso me és muy util para sincronizar db's > distribuidas. Sin las rake me vería obligado a utilizar scripts por fuera de > la app, complicándolo todo. > Te sugiero este tutorial de Rake de Rails Envy que traduje el año pasado. > http://www.rodolinux.com.ar/node/60 > > Saludos > > 2009/3/31 Agustin Nicolas Viñao Laseras <[email protected]> >> >> Pedro, en complemento a la respuesta de uno de los otros foreros, te paso >> un screencast de Ryan Bates que muestra en una forma muy simple la potencia >> de las tasks: >> >> http://railscasts.com/episodes/66-custom-rake-tasks >> >> Ademas como compartimos, si es para una tarea muy simple y que se supone >> jamas se repetira no vale la pena llevarlo a un task, igual cuidado, puede >> que para este proyecto no tengas que repetir una importacion de CVS pero si >> puede que para muchos otros proyectos siempre necesites importar antes de >> levantarlos en un server, en ese caso va mas alla del proyecto que estas >> trabajando hoy y tal vez invertir una hora en armar una buena Task te >> simplifique a futuro este paso de traer datos de un CVS. >> >> sl2 >> >> Agustin Viñao >> www.agustinvinao.com >> >> 2009/3/31 Pilaf <[email protected]> >>> >>> Muchas gracias por la respuesta Agustín. >>> >>> Como si me hubieras leido la mente, justamente el script que me toca >>> escribir esta vez va a importar datos a la BD desde un CSV. >>> Lamentablemente no es algo que vaya a hacer una sola vez porque la >>> aplicación que estoy escribiendo va a requerir carga masiva de datos >>> de tanto en tanto y me conviene tener el proceso bien armado. >>> >>> Según lo que entiendo que recomendás, Rake conviene en casos en que >>> voy a repetir un proceso manualmente con cierta frecuencia, ¿es así? >>> En ese caso creo que mi problema cae en esa categoría, pero no estoy >>> seguro de entender aun la ventaja de hacerlo así contra un script >>> normal. >>> >>> De nuevo gracias, >>> >>> -Pedro >>> >>> 2009/3/31 Agustin Nicolas Viñao Laseras <[email protected]>: >>> > Pedro, me parece que un task es mas util armar cuando tenes una tarea a >>> > repetir varias veces en el tiempo y no cuando tenes por ejemplo que >>> > acomodar >>> > un CVS por unica vez para meter datos en la BD. >>> > >>> > Los tasks los puntaria para por ejemplo si tenes que mandar un mailing >>> > muy >>> > particular cada tanto que no exige que lo agendes como tarea regular y >>> > que >>> > pudiendo armar una plantilla para una promocion por ejemplo llames al >>> > task >>> > que te lo envia. >>> > >>> > Sl2 >>> > >>> > Agustin Viñao >>> > www.agustinvinao.com >>> > >>> > 2009/3/31 Pilaf <[email protected]> >>> >> >>> >> Hola hermanos rubistas, >>> >> >>> >> les traigo una pregunta de corte existencial: >>> >> >>> >> ¿Qué ventaja obtengo de hacer mis scripts como tasks de Rake en vez de >>> >> scripts regulares? O, mejor dicho, ¿en qué casos me conviene uno y no >>> >> otro? >>> >> >>> >> Estoy empezando a escribir mis primeros scripts usando Rake y hasta >>> >> ahora no pude encontrar una buena razón para simplemente tirar unos >>> >> scripts sueltos más allá de la superficial de "hacer lo que hacen >>> >> todos". Entiendo que las buenas razones aparecen cuando uno tiene >>> >> varios tasks interconectados por dependencias, pero esa gracia >>> >> desaparece cuando solo necesito hacer bien una cosa que no comparte >>> >> dependencias con otras tareas, y por otro lado se complican >>> >> innecesariamente algunas otras cosas (como por ejemplo pasar >>> >> parámetros). >>> >> >>> >> De todos modos creo que lo voy a favorecer sobre los scripts a la >>> >> antigua, más que nada en nombre de la prolijidad y con el afán de >>> >> descubrir tarde o temprano qué lo hace tan atractivo. >>> >> >>> >> Si alguien tiene ganas de iluminarme se lo agradeceré encarecidamente, >>> >> >>> >> Saludos, >>> >> >>> >> -Pedro >>> >> _______________________________________________ >>> >> Ruby mailing list >>> >> [email protected] >>> >> >>> >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>> > >>> > >>> > _______________________________________________ >>> > Ruby mailing list >>> > [email protected] >>> > >>> > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>> > >>> > >>> _______________________________________________ >>> Ruby mailing list >>> [email protected] >>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> >> >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > > > > -- > http://www.rodolinux.com.ar > > "I must not fear. Fear is the mind-killer. I will face my fear. I will > permit it to pass over me and through me. And when it has gone past I will > turn the inner eye to see its path. Where the fear has gone there will be > nothing. Only I will remain." - Bene Geserit's Fear Lethany - Dune Trilogy - > Frank Herbert > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
