7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 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
|