Module: Ackr::Finder

Defined in:
lib/ackr/finder.rb

Overview

All ‘find a file’ relatives.

Class Method Summary collapse

Class Method Details

.all_filesObject

Get all files to look for.

Files of interest are those who are

+ not directory
+ not binary
+ not inside a hidden folder

Returns nothing.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ackr/finder.rb', line 15

def self.all_files
  Dir.glob('**/*', File::FNM_DOTMATCH).each do |file|
    next if File.directory?(file)
    next if inside_hidden_folder?(file)
    next if Ackr.binary?(file)

    next if EXCLUDE_DIRS.any? do |dir|
      file.start_with?(dir + File::Separator) ||
        file.include?(File::Separator + dir + File::Separator)
    end

    yield(file)
  end
end

.inside_hidden_folder?(file) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/ackr/finder.rb', line 30

def self.inside_hidden_folder?(file)
  part_of_hidden_folder?(file) || part_of_hidden_subfolder?(file)
end