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