Class: FS

Inherits:
Object
  • Object
show all
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