Список задач Тора из класса? - PullRequest
0 голосов
/ 17 февраля 2012

Я просмотрел ВСЕ (поиск в Google), и я не могу на всю жизнь понять, как это сделать.Можно ли получить список задач, определенных в текущем классе?Я пытаюсь написать метод, который определяет, является ли аргумент (аргументы), переданные в 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 ]

1 голос
/ 24 мая 2012

тор-Т также перечислит все ваши задачи.

1 голос
/ 17 февраля 2012

И, конечно же, сразу после публикации этого вопроса я выясняю это.

Foo.tasks вернул бы хэш {task_name => [массив информации о задаче]}

...