Проще говоря, что делает Rake? Какие у него цели? Я понимаю, что это инструмент сборки, но я смотрю немного подробнее. (Для простака.)
Что такое Рейк?
Ответы (4)
Прочтите статью Мартина Фаулера о Rake для получения дополнительной информации:
http://martinfowler.com/articles/rake.html
Его преамбула:
Rake — это язык сборки, схожий по назначению с make и ant. Подобно make и ant, это предметно-ориентированный язык, в отличие от этих двух, это внутренний DSL, запрограммированный на языке Ruby. В этой статье я представляю rake и описываю некоторые интересные вещи, которые появились в результате использования rake для создания этого веб-сайта: модели зависимостей, синтезированные задачи, пользовательские процедуры сборки и отладка скрипта сборки.
Более подробная информация доступна на домашней странице проекта или связана с ней:
Эти ответы предполагают, что вы знаете, что такое DSL, или знакомы с Make или Ant. Если это не так, вот (возможно, сильно упрощенный ответ):
Rake — это инструмент, который можно использовать с Ruby а> проекты. Это позволяет вам использовать код ruby для определения «задач», которые можно запускать в командной строке.
Rake можно загрузить и включить в проекты ruby как ruby gem.
После установки вы определяете задачи в файле с именем "Rakefile", который добавляете в свой проект.
Мы называем его «инструментом сборки», потому что Rake поставляется с некоторыми библиотеками, упрощающими выполнение задач, типичных для процесса сборки/развертывания, например файловые операции (создание, удаление, переименование и перемещение файлов), публикация сайтов через FTP/SSH и выполнение тестов.
Для получения дополнительной информации см. документацию проекта: http://rake.rubyforge.org/
Rake — это реализация декларативное программирование на основе зависимостей на языке программирования Ruby. По сути, Rake для Ruby — это то же, что Make для C, с заметной разницей: что Make является внешним DSL, а Rake – внутренним DSL.
Rake позволяет вам выполнять код Ruby через хороший API пространства имен. Примером является rake db:migrate. Вы можете запускать задачи автоматически до и после других задач. Это все.