Принудительное копирование с помощью действия Thor

Я использую встроенное действие Thor "copy_file", чтобы скопировать файл из моего источника шаблона, перезаписав существующий файл.

Я всегда хочу переписать, и не хочу подтверждать это в интерактивном режиме.

Документация не предполагает, что в хэше конфигурации есть опция force для этого действия, но http://textmate.rubyforge.org/thor/Thor/Actions.html действительно указывает, что config[: поведение] может быть установлено как принудительное, но я не вижу, как это сделать.

Если у кого-нибудь есть пример, которым они могут поделиться, я был бы очень благодарен.

Благодарю.

1 ответ

Решение

Посмотрите на источник copy_file действие на https://github.com/erikhuda/thor/blob/master/lib/thor/actions/file_manipulation.rb оно использует create_file и передает config Hash к нему. Хорошо, давайте посмотрим спецификации для файла create_file https://github.com/erikhuda/thor/blob/master/spec/actions/create_file_spec.rb. Найдите в файле "force", действие может быть вызвано с помощью:

create_file("doc/config.rb", :force => true)

Попробуйте это с вашим copy_file действие, добавить :force => true в конце он обрабатывается как хеш конфигурации, передается в create_file и должен работать.

Другие вопросы по тегам