можно ли встраивать грабли в приложение? - PullRequest
0 голосов
/ 09 августа 2011

Мое приложение имеет сложный набор зависимостей - некоторая информация поступает от пользовательского ввода, часть - от удаленных сайтов через delayed_job - выражается в виде ациклического ориентированного графа. Я был готов написать простой механизм зависимостей для обхода графа, но мне пришло в голову: Rake уже сделал это, и я не должен заново изобретать колесо.

Обычно rake берет свои объявления в автономном файле rake и запускается из командной строки. Вместо этого можно ли написать объявления в файле библиотеки или модели и запустить rake из приложения? (Чтобы было ясно: я бы не использовал здесь rake для долгосрочных задач, я просто хочу, чтобы он мог определять и обходить граф зависимостей.)

Загружается без ошибок:

require 'rake'
class MyClass
  task :clean do
    puts 'cleaning'
  end
end

... но неясно, как его вызывать или создавать задачи в пространствах имен и т. Д.

1 Ответ

0 голосов
/ 09 августа 2011

В зависимости от вашей среды:

От граблей:

Rake::Task#execute

http://rake.rubyforge.org/classes/Rake/Task.html

Из термина или cmd:

Windows: system('start rake doc:app')

Linux: system('rake doc:app')

Вот обсуждение на форуме ruby:

https://www.ruby -forum.com / topic / 196210

Вот связанный вопрос / ответ StackOverflow с использованием системного вызова:

http://www.stackoverflow.com/questions/3021805

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...