使用 Thor 操作强制复制

bbc*_*cro 4 ruby thor

我正在使用 Thor 内置操作“copy_file”从我的模板源复制文件,覆盖现有文件。

我总是想覆盖,不想交互确认。

该文档不建议在此操作的配置哈希中有强制选项,但http://textmate.rubyforge.org/thor/Thor/Actions.html确实表明 config[:behavior] 可以设置为强制,但我看不出如何做到这一点。

如果有人有这样做的例子可以分享,我将不胜感激。

谢谢。

Cas*_*der 6

copy_filehttps://github.com/erikhuda/thor/blob/master/lib/thor/actions/file_manipulation.rb查看它使用的动作源create_file并将配置哈希传递给它。好的,让我们看看 create_file https://github.com/erikhuda/thor/blob/master/spec/actions/create_file_spec.rb 的规范 。在文件中搜索“force”,可以使用以下命令调用操作:

create_file("doc/config.rb", :force => true)
Run Code Online (Sandbox Code Playgroud)

用你的copy_file动作试试,:force => true在最后追加,它被视为配置哈希,传递给 create_file 并且它应该可以工作。