module ChupaText::Unzippable

Private Instance Methods

unzip(data) { |zip| ... } click to toggle source
# File lib/chupa-text/unzippable.rb, line 22
def unzip(data)
  data.open do |input|
    begin
      Archive::Zip.open(input) do |zip|
        yield(zip)
      end
    rescue Archive::Zip::Error => zip_error
      error do
        message = "#{log_tag} Failed to process zip: "
        message << "#{zip_error.class}: #{zip_error.message}\n"
        message << zip_error.backtrace.join("\n")
        message
      end
    end
  end
end