diff --git a/Gemfile b/Gemfile index 7ee8c409cae8e225dbd6b56e24acb76ad35da5d8..5820c0887929f026bdc596776a98f3cef623a6ef 100644 --- a/Gemfile +++ b/Gemfile @@ -173,9 +173,9 @@ gem "rails-timeago", "2.11.0" gem "logging-rails", "0.5.0", require: "logging/rails" -# Workarounds -# https://github.com/rubyzip/rubyzip#important-note -gem "zip-zip" +# # Workarounds +# # https://github.com/rubyzip/rubyzip#important-note +gem "rubyzip" # Prevent occasions where minitest is not bundled in # packaged versions of ruby. See following issues/prs: diff --git a/Gemfile.lock b/Gemfile.lock index 47b1b501aa479ee7c3d8a2cab9bdbdf768336920..e9d965d52cf7be9b9cb248d81c8db80d26dfbffa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -718,8 +718,6 @@ GEM will_paginate (3.0.7) xpath (2.0.0) nokogiri (~> 1.3) - zip-zip (0.3) - rubyzip (>= 1.0.0) PLATFORMS ruby @@ -830,6 +828,7 @@ DEPENDENCIES rspec-rails (= 3.2.1) rubocop (= 0.31.0) ruby-oembed (= 0.8.14) + rubyzip sass-rails (= 5.0.1) selenium-webdriver (= 2.45.0) shoulda-matchers (= 2.8.0) @@ -851,4 +850,3 @@ DEPENDENCIES uuid (= 2.3.7) webmock (= 1.21.0) will_paginate (= 3.0.7) - zip-zip diff --git a/app/models/user.rb b/app/models/user.rb index a2a5faabbd56ef3835e6be8cccc0b49f12b4d9cd..364a33350d38d96ec6c802e9746e45d883d31db2 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -325,7 +325,7 @@ class User < ActiveRecord::Base def perform_export_photos! temp_zip = Tempfile.new([username, '_photos.zip']) begin - Zip::ZipOutputStream.open(temp_zip.path) do |zos| + Zip::OutputStream.open(temp_zip.path) do |zos| photos.each do |photo| begin photo_file = photo.unprocessed_image.file diff --git a/config/initializers/rubyzip.rb b/config/initializers/rubyzip.rb new file mode 100644 index 0000000000000000000000000000000000000000..00b352494e5eabf074d8d1c47d86bff51d6d0536 --- /dev/null +++ b/config/initializers/rubyzip.rb @@ -0,0 +1,7 @@ +# https://github.com/rubyzip/rubyzip#configuration +# Zip.setup do |c| +# c.on_exists_proc = true +# c.continue_on_exists_proc = true +# c.unicode_names = true +# c.default_compression = Zlib::BEST_COMPRESSION +# end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 3a95098c318aad0bc24a4be2d64bb2f3aa7b4f17..517cacd856c21c9e80b88e59f60f4c71de01a648 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1065,14 +1065,14 @@ describe User, :type => :model do expect(@user.exported_photos_at).to be_present expect(@user.exporting_photos).to be_falsey expect(@user.exported_photos_file.filename).to match /.zip/ - expect(Zip::ZipFile.open(@user.exported_photos_file.path).entries.count).to eq(1) + expect(Zip::File.open(@user.exported_photos_file.path).entries.count).to eq(1) end it "does not add empty entries when photo not found" do File.unlink @user.photos.first.unprocessed_image.path @user.perform_export_photos! expect(@user.exported_photos_file.filename).to match /.zip/ - expect(Zip::ZipFile.open(@user.exported_photos_file.path).entries.count).to eq(0) + expect(Zip::File.open(@user.exported_photos_file.path).entries.count).to eq(0) end end