class DirGlobIgnore::IgnoreFileLists
Constants
- DEFAULT_FILE_NAME
Attributes
base_dir[W]
cache[R]
ignore_file_name[W]
Public Class Methods
new(base_dir = nil)
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 9 def initialize(base_dir = nil) self.base_dir = base_dir end
Public Instance Methods
base_dir()
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 17 def base_dir @base_dir ||= Dir.pwd end
ignore_file?(file)
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 33 def ignore_file?(file) cache.values.each do |info| return true if info[:ignored_files].include? File.expand_path(file) end false end
ignore_file_name()
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 13 def ignore_file_name @ignore_file_name ||= DEFAULT_FILE_NAME end
load_ignore_files()
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 21 def load_ignore_files @cache = {} ignore_files.each do |ignore_file| cache[File.expand_path File.dirname ignore_file] = { ignore_file: ignore_file, patterns: load_ignore_file(ignore_file), ignored_files: [] } end build_cached_ignore_lists end
Private Instance Methods
build_cached_ignore_lists()
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 44 def build_cached_ignore_lists cache.each do |dir, info| info[:patterns].each do |pattern| info[:ignored_files].concat Dir.glob(File.join(dir, pattern), File::FNM_DOTMATCH) end end end
ignore_files()
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 66 def ignore_files file_pattern = File.join base_dir, '**', ignore_file_name Dir.glob file_pattern, File::FNM_DOTMATCH end
load_ignore_file(ignore_file)
click to toggle source
# File lib/dir_glob_ignore/ignore_file_lists.rb, line 52 def load_ignore_file(ignore_file) File.readlines(ignore_file).map(&:chomp).reject do |entry| if entry =~ /^\s*#/ # Ignore commented lines true elsif entry =~ /^\s*$/ # Ignore empty lines true else false end end end