class RubyCrystalCodemod::FileFinder

Constants

EXCLUDED_DIRS
EXTENSIONS

FILENAMES = [

"Gemfile",
*RAKEFILES,

]

Attributes

files_or_dirs[R]

Public Class Methods

new(files_or_dirs) click to toggle source
# File lib/ruby_crystal_codemod/file_finder.rb, line 30
def initialize(files_or_dirs)
  @files_or_dirs = files_or_dirs
end

Public Instance Methods

each() { |true, file| ... } click to toggle source
# File lib/ruby_crystal_codemod/file_finder.rb, line 34
def each
  files_or_dirs.each do |file_or_dir|
    if Dir.exist?(file_or_dir)
      all_rb_files(file_or_dir).each { |file| yield [true, file] }
    else
      yield [File.exist?(file_or_dir), file_or_dir]
    end
  end
end

Private Instance Methods

all_rb_files(file_or_dir) click to toggle source
# File lib/ruby_crystal_codemod/file_finder.rb, line 48
def all_rb_files(file_or_dir)
  files = []
  Find.find(file_or_dir) do |path|
    basename = File.basename(path)
    if File.directory?(path)
      Find.prune if EXCLUDED_DIRS.include?(basename)
    else
      if EXTENSIONS.include?(File.extname(basename)) #|| FILENAMES.include?(basename)
        files << path
      end
    end
  end
  files
end