7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/rbs/file_finder.rb', line 7
def self.each_file(path, immediate:, skip_hidden:, &block)
return enum_for(__method__, path, immediate: immediate, skip_hidden: skip_hidden) unless block
case
when path.file?
if path.extname == ".rbs" || immediate
yield path
end
when path.directory?
if path.basename.to_s.start_with?("_")
if skip_hidden
unless immediate
return
end
end
end
path.children.sort.each do |child|
each_file(child, immediate: false, skip_hidden: skip_hidden, &block)
end
end
end
|