module FileFinder
Public Class Methods
explore_folder(folder=Dir.pwd, ignore_rules=[])
click to toggle source
# File lib/file_finder.rb, line 31 def FileFinder.explore_folder(folder=Dir.pwd, ignore_rules=[]) files = [] ignored_paths = [".", "..", ".git", ".xoltignore", "xolti.yml", "LICENSE"] ignore_rules += parse_xoltignore(folder) Dir.glob("#{folder}/{*,.*}") .delete_if {|x| ignored_paths.include?(File.basename(x))} .each do |path| # Do NOT ignore by default ignore = :exclude if File.directory?(path) ignore_rules.each do |rule| ignore = rule.effect if rule.folder_match(path) end files += explore_folder(path, ignore_rules) if ignore == :exclude else ignore_rules.each do |rule| ignore = rule.effect if rule.file_match(path) end files << path if ignore == :exclude end end files end