class FileSieve
Traverse a directory tree looking for files with a specific extension
Attributes
found_files[R]
Public Class Methods
new(directory, extension)
click to toggle source
# File lib/file_sieve.rb, line 7 def initialize(directory, extension) @found_files = [] @extension = extension @search_directory = directory sieve(directory) end
Public Instance Methods
de_dot(list)
click to toggle source
Clean away . and .. from the directory list
# File lib/file_sieve.rb, line 27 def de_dot(list) list.delete('.') list.delete('..') list end
sieve(directory)
click to toggle source
Recursively search the directory tree for files with @extension
# File lib/file_sieve.rb, line 15 def sieve(directory) de_dot(Dir.entries(directory)).each { |file| search = File.absolute_path(directory + File::SEPARATOR + file) if File.directory?(search) sieve(search) elsif file.match?(@extension) @found_files.push(search) end } end