托雷在课堂上的任务清单?

时间:2012-02-17 00:48:30

标签: task thor

我看了一遍(谷歌搜索),我不能为我的生活弄清楚如何做到这一点。是否有可能获得当前类中定义的thor任务列表?我试图编写一个方法来确定传递给thor的参数是否有效,为此,我需要一个包含所有已定义任务的列表。我可以在一些常量中创建一个列表,但如果可能的话,我宁愿使用内置工具。

例:

    #!/usr/bin/env ruby
    require 'thor'

    class Foo < Thor
      desc 'task_1', 'The first task'
      def task_1
        puts 1
      end #task_1

      desc 'task_2', 'The second task'
      def task_2
        puts 2
      end #task_2

      desc 'check_args', 'Checks that the arguments are valid.', :hide => true
        # get a list of the tasks defined in this class and check against ARGV
        if !valid
          invoke :help
          exit
        end #if
      end #check_args
    end #Foo

如果我的问题不够清楚,或者我只是想解决这个问题,请告诉我:)

由于

2 个答案:

答案 0 :(得分:1)

当然,在发布这个问题后,我想出来了。

Foo.tasks将返回哈希值{task_name =&gt; [任务信息数组]}

答案 1 :(得分:1)

thor -T也会列出你的所有任务。