¿Qué es exactamente Rake?

80

En términos simples, ¿qué hace Rake? ¿Qué fines tiene? Entiendo que es una herramienta de construcción, pero estoy buscando un poco más de detalle. (Para un simplón.)

Omitir
fuente
2
Este video es realmente excelente para comprender el rake al nivel más básico.
filmnut

Respuestas:

54

Pruebe el artículo de Martin Fowler sobre Rake para obtener más información:

http://martinfowler.com/articles/rake.html

Su preámbulo es:

Rake es un lenguaje de construcción, similar en propósito a make y ant. Al igual que make y ant, es un lenguaje específico de dominio, a diferencia de esos dos, es un DSL interno programado en el lenguaje Ruby. En este artículo presento rake y describo algunas cosas interesantes que surgieron de mi uso de rake para construir este sitio web: modelos de dependencia, tareas sintetizadas, rutinas de compilación personalizadas y depuración del script de compilación.

También hay más información disponible o vinculada desde la página de inicio del proyecto:

http://rake.rubyforge.org/

David M
fuente
76

Estas respuestas asumen que sabe qué es un DSL o está familiarizado con Make o Ant. Si ese no es el caso, aquí hay una (quizás una respuesta muy simplificada):

Rake es una herramienta que puede usar con proyectos Ruby . Le permite utilizar código ruby ​​para definir "tareas" que se pueden ejecutar en la línea de comandos.

Rake se puede descargar e incluir en proyectos ruby ​​como una gema ruby.

Una vez instalado, define las tareas en un archivo llamado " Rakefile " que agrega a su proyecto.

Lo llamamos una "herramienta de compilación" porque Rake viene con algunas bibliotecas que facilitan la realización de tareas que son comunes durante el proceso de compilación / implementación, como operaciones de archivos (crear, eliminar, renombrar y mover archivos), publicar sitios a través de FTP. / SSH y pruebas en ejecución .

Para obtener más información, aquí está la documentación del proyecto: http://rake.rubyforge.org/

Bryanbraun
fuente
11

Rake te permite ejecutar código Ruby a través de una agradable API de espacio de nombres. Un ejemplo es rake db: migrate. Puede ejecutar tareas automáticamente antes y después de otras tareas. Eso es todo.

Agosto Lilleaas
fuente
Felicitaciones por compartir en qué se usa en lugar de una respuesta técnica
Korayem