class MdsFileUtils::ZipAnalyzer

Constants

EXTENSION_REGEX
MAX_MDS_FILE_SIZE
VALID_COMPOSITE_CONTENTS_REGEX

Public Class Methods

new(path, original_filename=path) click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 10
def initialize(path, original_filename=path)
  @path = path
  @original_filename = original_filename
end

Public Instance Methods

file_list() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 32
def file_list
  @files ||= UnzipmeUnzipper.new(@path).file_list
end
file_size() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 44
def file_size
  File.size(@path)
end
has_valid_extension?() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 22
def has_valid_extension?
  return false if @original_filename.blank?
  @original_filename =~ EXTENSION_REGEX
end
is_composite?() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 27
def is_composite?
  return false unless valid_zip?
  file_list.count { | file | file =~ EXTENSION_REGEX } > 0
end
non_mds_data_in_composite?() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 36
def non_mds_data_in_composite?
  file_list.count { | entry | !( entry =~ VALID_COMPOSITE_CONTENTS_REGEX) } > 0
end
too_big_for_mds?() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 40
def too_big_for_mds?
  file_size > MAX_MDS_FILE_SIZE && !is_composite?
end
valid_zip?() click to toggle source
# File lib/mds_file_utils/zip_analyzer.rb, line 15
def valid_zip?
  return false if @path.blank?
  return false unless File.exists?(@path)
  return false unless has_valid_extension?
  UnzipmeValidator.new(@path).valid_zip?
end