有人可以提供Thor :: HiddenTask用法的例子吗?

时间:2011-06-21 23:08:21

标签: ruby thor

我刚刚开始使用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的例子,这样答案很好地对应了这个问题。

谢谢!

2 个答案:

答案 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