Sha256: dd1f368081e84621fead7120d90ebcb524a50c568108e0883de593e4b2d8a892

Contents?: true

Size: 695 Bytes

Versions: 3

Compression:

Stored size: 695 Bytes

Contents

require_relative 'fshelpyhelp'
require_relative 'file'

module Stowaway
  class Locator
    include FSHelpyHelp
  
    def initialize(extensions)
      @extensions = extensions
      @ignore = [/^\./]
    end
  
    def type?(file)
      @extensions.each do |e|
        return true if file.match(/#{e}$/)
      end
      false
    end
  
    def find_all(path, files = [])
    
      dir = Dir.new(path)
    
      dir.each do |f|
        next if ignore?(f)
        
        file = File.join(dir.path, f)
        
        if File.directory?(file) 
          find_all file, files
        elsif type?(f)
          files << FileObj.new(file)
        end
      end
      files
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stowaway-0.1.1 lib/stowaway/locator.rb
stowaway-0.0.6 lib/stowaway/locator.rb
stowaway-0.0.4 lib/stowaway/locator.rb