Class: SafariBookmarksParser::Services::FindEmptyFolders

Inherits:
Object
  • Object
show all
Defined in:
lib/safari_bookmarks_parser/services/find_empty_folders.rb

Class Method Summary collapse

Class Method Details

.call(root_folder:) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/safari_bookmarks_parser/services/find_empty_folders.rb', line 7

def call(root_folder:)
  results = []

  traverse(root_folder, results)

  results
end

.traverse(node, results) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/safari_bookmarks_parser/services/find_empty_folders.rb', line 15

def traverse(node, results)
  case node
  when BookmarkFolder
    if node.children.empty?
      results << node
    else
      node.children.each do |child|
        traverse(child, results)
      end
    end
  end
end