Module: AssetZipImportable::Importable::Extractions
- Defined in:
- app/models/concerns/asset_zip_importable/importable/extractions.rb
Constant Summary collapse
- ACCEPT_FILE_TYPES =
%w(JPEG GIF PNG PDF)
Instance Method Summary collapse
Instance Method Details
#accept_file_type?(file_path) ⇒ Boolean
36 37 38 |
# File 'app/models/concerns/asset_zip_importable/importable/extractions.rb', line 36 def accept_file_type?(file_path) ACCEPT_FILE_TYPES.include?(_file_type(file_path)) end |
#download ⇒ Object
6 7 8 9 10 11 |
# File 'app/models/concerns/asset_zip_importable/importable/extractions.rb', line 6 def download FileUtils.mkdir_p(zip_file_dir) File.open(zip_file, 'wb') do |opened_zip_file| opened_zip_file << uploaded_zip_file.read end end |
#extract ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/models/concerns/asset_zip_importable/importable/extractions.rb', line 13 def extract return unless FileTest.exist?(zip_file) Zip::ZipFile.open(zip_file) do |opened_zip_file| opened_zip_file.each do |entry| file_path = zip_file_dir + '/' + entry.to_s FileUtils::mkdir_p(File.dirname(file_path)) opened_zip_file.extract(entry, file_path) { true } if accept_file_type?(file_path) self.total_number ||= 0 self.total_number += 1 else unless FileTest.directory?(file_path) File.delete(file_path) end end end end save! end |