Утилита сборки Ruby похожа на make с командами сборки, определенными в чистом Ruby.

Rake использует Rakefiles (см. Makefiles), определенный в чистом Ruby, утилите сборки, созданной покойным Джимом Вейрихом. Поддерживаются шаблоны правил для синтеза неявных задач, и разработчики могут легко определять цепочки зависимостей до и после задачи. Rake включает библиотеку предварительно упакованных задач, чтобы упростить создание Rake-файлов.

Rake использует анонимные функциональные блоки Ruby для определения различных задач, позволяя использовать синтаксис Ruby. Он имеет библиотеку общих задач: например, функции для выполнения общих задач по работе с файлами и библиотеку для удаления скомпилированных файлов ("чистая" задача). Как и Make, Rake также может синтезировать задачи на основе шаблонов: например, автоматически создавать задачу компиляции файлов на основе шаблонов имен файлов. Rake теперь является частью стандартной библиотеки, начиная с версии Ruby 1.9.

Пример файла Rake

    namespace :pick do
      desc "Pick a random user as the winner"
      task :winner => :environment do
        puts "Winner: #{pick(User).name}"
      end

      desc "Pick a random product as the prize"
      task :prize => :environment do
        puts "Prize: #{pick(Product).name}"
      end

      desc "Pick a random prize and winner"
      task :all => [:prize, :winner]

      def pick(model_class)
        model_class.find(:first, :order => 'RAND()')
      end
    end

Полезные ссылки

Теги для конкретной реализации

Вы можете указать свой вопрос, добавив реализацию, которую вы использовали, в качестве тега.