Во-первых, некоторые сведения о сдвиге метафоры - два различных типа пространств имен:
Хотя пространства имен Rake и пространства имен Ruby совместно используют слово пространство имен, они представляют собой отдельные понятия.Пространства имен Rake - это просто организующие контейнеры для задач Rake, а не пространства имен / модули Ruby.Итак, код внутри вашей вещи: задача thingo rake фактически выполняется в пространстве имен Ruby верхнего уровня.
Второе: если Klass - это отдельный класс, не входящий в пространство имен, вы можете ссылаться на него напрямую.Если класс существует как Foo :: Klass, то вам нужно будет использовать полную ссылку Foo :: Klass, если только область действия ссылки уже не находится в пространстве имен Foo.
Поскольку пространства имен Rake не являютсяМодули Ruby, вы не находитесь в контексте пространства имен Ruby в вашей задаче.Вот почему Klass.some_method работает, если Klass не находится в модуле.
Если это не объясняет вопрос, пожалуйста, опубликуйте определение класса для Klass, включая любое членство в модуле / пространстве имен.