Class: Subfinder::Parser::Files

Inherits:
Object
  • Object
show all
Defined in:
lib/subfinder/parser/files.rb

Class Method Summary collapse

Class Method Details

.extract_all(array_list) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/subfinder/parser/files.rb', line 17

def extract_all(array_list)
  array_list.each do |file|
    Zip::File.open(file) do |zip_file|
      zip_file.each do |entry|
        file_path = Config.working_dir + '/' + entry.name
        unless File.exist? file_path
          Logger.info "Extracting #{entry.name}"
          entry.extract(file_path)
        end
      end
    end
  end
end

.listObject



5
6
7
8
# File 'lib/subfinder/parser/files.rb', line 5

def list
  prepare_file_list
  Dir["#{Config.working_dir}/*"]
end

.move_compressed_files(compressed_files) ⇒ Object



31
32
33
34
35
36
# File 'lib/subfinder/parser/files.rb', line 31

def move_compressed_files(compressed_files)
  unless compressed_files.empty?
    Dir.mkdir(Config.working_dir + '/compressed') unless File.exist?(Config.working_dir + '/compressed')
    compressed_files.each { |f| File.rename(f, File.dirname(f) + '/compressed/' + File.basename(f)) }
  end
end

.prepare_file_listObject



10
11
12
13
14
15
# File 'lib/subfinder/parser/files.rb', line 10

def prepare_file_list
  files = Dir["#{Config.working_dir}/*"]
  compressed_files = files.select { |file| ['.zip', '.rar'].include? File.extname(file) }
  extract_all compressed_files
  move_compressed_files compressed_files
end