123456789_123456789_123456789_123456789_123456789_

Module: RBS::FileFinder

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: lib/rbs/file_finder.rb

Class Method Summary

Class Method Details

.each_file(path, immediate: nil, skip_hidden:, &block)

[ GitHub ]

  
# File 'lib/rbs/file_finder.rb', line 7

def self.each_file(path, immediate: nil, skip_hidden:, &block)
  return enum_for((__method__ or raise), path, immediate: immediate, skip_hidden: skip_hidden) unless block

  case
  when path.file?
    yield path

  when path.directory?
    paths = Pathname.glob("#{path}/**/*.rbs")

    if skip_hidden
      paths.select! do |child|
        child.relative_path_from(path).ascend.drop(1).none? { _1.basename.to_s.start_with?("_") }
      end
    end
    paths.sort_by!(&:to_s)

    paths.each(&block)
  end
end