class Egnyte::FolderStructure

Public Class Methods

traverse_dfs(folder, session, order=:preorder, max_depth=nil, current_depth=1) { |folder| ... } click to toggle source
# File lib/egnyte/folder_structure.rb, line 3
def self.traverse_dfs(folder, session, order=:preorder, max_depth=nil, current_depth=1, &block)
  yield folder if order == :preorder
  folder.folders = folder.folders.each do |f|
    f = Egnyte::Folder.find(session, f.path)
    traverse_dfs(f, session, order, max_depth, current_depth+1, &block) unless !max_depth.nil? and current_depth >= max_depth 
    f
  end
  yield folder if order == :postorder
end