У меня есть два класса в моей оболочке REST API: Wrapper::Folder
и Wrapper::File
.Каждая папка может содержать множество папок и файлов.Содержимое папки может быть восстановлено с помощью .list.
метода класса.
Я хочу реализовать .all
метод класса для Wrapper::File
, который бы возвращал массив всех файлов во всех папках.
Следующий метод не работает, но показывает что-то вроде того, что я хочу.
class Wrapper::File
def self.all
folders = Wrapper::Folder.list('/')
files = []
while folders.size > 0
folders.each do |object|
if object.is_a?(Wrapper::Folder)
folders = Wrapper::Folder.list('/')
else
files << object
end
end
end
end
end