Укажите параметр для граблей в рубине - PullRequest
1 голос
/ 16 февраля 2011

У меня есть грабли, в которой используется параметр в командной строке:

rake sunspot:reindex[, MyModel]

(Да, прямая запятая за скобкой верна.)

Как мнеуказать ту же команду rake из Ruby?

Некоторые попытки, которые не работают:

Rake::Task['sunspot:reindex'].execute("[, ActsAsTaggableOn::Tagging]")
Rake::Task['sunspot:reindex'].execute([nil, ActsAsTaggableOn::Tagging])
Rake::Task['sunspot:reindex[, ActsAsTaggableOn::Tagging]'].execute

Некоторые другие предложения, что я мог бы попробовать еще?

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Возможно, вам нужно использовать invoke вместо execute:

Rake::Task['sunspot:reindex'].invoke(nil, ActsAsTaggableOn::Tagging)
0 голосов
/ 16 февраля 2011

Вы можете вызвать команду как системный процесс. У вас есть несколько вариантов

klass = Model

`rake sunspot:reindex #{klass}`
%x(rake sunspot:reindex #{klass})
system "rake", "sunspot:reindex", klass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...