Sha256: 7b12995329e8c7b6ee26915c3e01ead6926dfb04b762bd6b0fb5cbdb216a103f

Contents?: true

Size: 727 Bytes

Versions: 22

Compression:

Stored size: 727 Bytes

Contents

# frozen_string_literal: true

module RBS
  module FileFinder
    module_function

    def self.each_file(path, immediate:, skip_hidden:, &block)
      return enum_for((__method__ or raise), 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
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rbs-3.2.0 lib/rbs/file_finder.rb
rbs-3.2.0.pre.1 lib/rbs/file_finder.rb