Что такое рейк?

80

Проще говоря, что делает Rake? Какие у него цели? Я понимаю, что это инструмент для сборки, но я ищу более подробную информацию. (Для простака.)

Пропускать
источник
2
Это видео действительно отлично подходит для понимания рейка на самом базовом уровне.
filmnut

Ответы:

54

Прочтите статью Мартина Фаулера о рейке для получения дополнительной информации:

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

Его преамбула:

Rake - это язык сборки, похожий по назначению на make и ant. Подобно make и ant, это предметно-ориентированный язык, в отличие от этих двух, это внутренний DSL, запрограммированный на языке Ruby. В этой статье я представляю rake и описываю некоторые интересные вещи, которые явились результатом моего использования rake для создания этого веб-сайта: модели зависимостей, синтезированные задачи, настраиваемые процедуры сборки и отладка сценария сборки.

Дополнительная информация доступна на домашней странице проекта или по ссылкам на ней:

http://rake.rubyforge.org/

Дэвид М
источник
76

Эти ответы предполагают, что вы знаете, что такое DSL, или знакомы с Make или Ant. Если это не так, вот (возможно, сильно упрощенный ответ):

Rake - это инструмент, который можно использовать с Ruby проектами . Он позволяет использовать код Ruby для определения «задач», которые можно запускать в командной строке.

Рейк можно скачать и включить в проекты ruby ​​как драгоценный камень ruby.

После установки вы определяете задачи в файле с именем « Rakefile », который вы добавляете в свой проект.

Мы называем это «инструментом сборки», потому что Rake поставляется с некоторыми библиотеками, которые упрощают выполнение задач, типичных для процесса сборки / развертывания, таких как операции с файлами (создание, удаление, переименование и перемещение файлов), публикация сайтов через FTP. / SSH и выполнение тестов .

Подробная информация в документации по проекту: http://rake.rubyforge.org/

Bryanbraun
источник
11

Rake позволяет выполнять код Ruby через красивый api пространства имен. Примером может служить rake db: migrate. Вы можете запускать задачи автоматически до и после других задач. Вот и все.

Август Лиллеас
источник
Престижность за то, что поделился тем, в чем он используется, а не за технический ответ
Кораем