我刚刚开始使用Thor。我一直在查看文档,找不到任何隐藏任务的代码示例。我想要的是这样的,
desc "configure", "Do the configuration"
def configure
# configuration
end
desc "import", "Import the stuff"
invoke :configure
# import the stuff
end
但我不希望configure出现在任务列表中。这有点......私密,你知道吗?有人可以举个例子吗?
在lib / thor / task.rb中有一个名为HiddenTask的Task子类。任何人都可以提供如何使用该子类的示例,以及如何调用其方法hidden?
?谢谢!
编辑:下面的两个答案都达到了我的问题中提到的目标,但它们都不是Thor:HiddenTask用法的一个例子。我想我将不接受这个问题的答案。它们都是很好的答案,也是我实际用来实现所需行为的第一个答案,但我真的希望看到一个HiddenTask的例子,这样答案很好地对应了这个问题。
谢谢!
答案 0 :(得分:6)
在 thor / spec / fixtures / script.thor 中,你可以找到这样的用法:
desc "hidden TYPE", "this is hidden", :hide => true
def hidden(type)
[type]
end
答案 1 :(得分:2)
这有点晚了但也许这会有所帮助。将您的私有方法放在“no_task”块中,如:
no_task do
def my_private_method
# Do something here
end
end