У меня возникли проблемы с получением Thor, поэтому, надеюсь, кто-то может указать, что я делаю неправильно.
У меня есть основной класс class MyApp < Thor
, который я хочу разбить на отдельные файлы для нескольких пространств имен, например thor create:app_type
и thor update:app_type
. Я не могу найти примеров, которые показывают, как нужно разбить приложение Thor на части, и то, что я пробовал, похоже, не работает.
Возьмем, к примеру, этот класс, который я пытаюсь вырваться из основного класса Thor:
module Things
module Grouping
desc "something", "Do something cool in this group"
def something
....
end
end
end
Когда я пытаюсь включить или потребовать это в свой основной класс:
class App < Thor
....
require 'grouping_file'
include Things::Grouping
....
end
Я получаю исключение: '<module:Grouping>': undefined method 'desc' for Things::Grouping:Module (NoMethodError)
Возможно ли иметь несколько пространств имен для задач Thor, и если да, то как их разбить, чтобы у вас не было одного монолитного класса, который занимает несколько сотен строк?