class SafariBookmarksParser::BookmarkFolder
Attributes
children[R]
folder_names[R]
title[R]
Public Class Methods
new(title:, folder_names:, children: [])
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 7 def initialize(title:, folder_names:, children: []) @title = title @folder_names = folder_names @children = children end
Public Instance Methods
empty?()
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 13 def empty? to_a.empty? end
to_a()
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 17 def to_a results = [] traverse(self, results) results end
to_h()
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 23 def to_h { 'title' => title, 'folder_names' => folder_names, 'children' => children.map(&:to_h) } end
to_json(options)
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 27 def to_json(options) to_h.to_json(options) end
Private Instance Methods
traverse(node, results)
click to toggle source
# File lib/safari_bookmarks_parser/bookmark_folder.rb, line 33 def traverse(node, results) case node when BookmarkFolder node.children.each do |child| traverse(child, results) end when Bookmark results << node end end