26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/file_finder.rb', line 26
def FileFinder.explore_folder(folder=Dir.pwd, ignoreRules=[])
fileAcc = []
ignoredPaths = [".", "..", ".git", ".xoltignore", "xolti.yml", "LICENSE"]
ignoreRules += parse_xoltignore(folder)
Dir.glob("#{folder}/{*,.*}")
.delete_if {|x| ignoredPaths.include?(File.basename(x))}
.delete_if do |x|
basename = File.basename(x)
toIgnore = false
ignoreRules.each do |rule|
if (rule[0] == "!" && File.fnmatch(rule[1..-1], basename))
toIgnore = false
elsif (File.fnmatch(rule, basename))
toIgnore = true
end
end
toIgnore
end
.each do |path|
if File.directory?(path)
fileAcc += explore_folder(path, ignoreRules)
else
fileAcc << path
end
end
fileAcc
end
|