extract_entry

in lib/gdk/package_helper.rb [166:184]


    def extract_entry(entry, destination_path)
      return if entry.full_name.include?('..')

      target_path = destination_path.join(File.basename(entry.full_name))
      parent_dir = target_path.dirname

      if entry.directory?
        FileUtils.mkdir_p(parent_dir, mode: entry.header.mode)
        return
      end

      return unless entry.file?

      return if EXCLUDED_FILES.any? { |excluded| entry.full_name.end_with?(excluded) }

      File.binwrite(target_path, entry.read)
      File.chmod(entry.header.mode, target_path)
    end