Class: FS
- Inherits:
-
Object
- Object
- FS
- Defined in:
- lib/commons.rb
Class Method Summary collapse
Class Method Details
.each_folder(dir, recursive = true) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/commons.rb', line 114 def self.each_folder(dir, recursive=true) queue = ["."] visited = [] while queue.size > 0 current = queue.shift yield current if recursive Dir.entries(current).each do |entry| next if [".",".."].include? entry to_queue = (current == "." ? entry : File.join(current, entry)) queue.push to_queue if FileTest.directory? to_queue end end queue -= visited visited.push current end end |
.each_remote_info(dir) ⇒ Object
136 137 138 139 140 141 |
# File 'lib/commons.rb', line 136 def self.each_remote_info(dir) self.each_folder(dir) do |folder| filename = File.join(folder, RemoteInfo::FILENAME) yield filename if FileTest.exists? filename end end |