Replaces the zipzip gem with the rubyzip gem
This commit is contained in:
parent
21ae93e658
commit
2ba2ef1b9c
5 changed files with 14 additions and 9 deletions
6
Gemfile
6
Gemfile
|
|
@ -173,9 +173,9 @@ gem "rails-timeago", "2.11.0"
|
||||||
|
|
||||||
gem "logging-rails", "0.5.0", require: "logging/rails"
|
gem "logging-rails", "0.5.0", require: "logging/rails"
|
||||||
|
|
||||||
# Workarounds
|
# # Workarounds
|
||||||
# https://github.com/rubyzip/rubyzip#important-note
|
# # https://github.com/rubyzip/rubyzip#important-note
|
||||||
gem "zip-zip"
|
gem "rubyzip"
|
||||||
|
|
||||||
# Prevent occasions where minitest is not bundled in
|
# Prevent occasions where minitest is not bundled in
|
||||||
# packaged versions of ruby. See following issues/prs:
|
# packaged versions of ruby. See following issues/prs:
|
||||||
|
|
|
||||||
|
|
@ -718,8 +718,6 @@ GEM
|
||||||
will_paginate (3.0.7)
|
will_paginate (3.0.7)
|
||||||
xpath (2.0.0)
|
xpath (2.0.0)
|
||||||
nokogiri (~> 1.3)
|
nokogiri (~> 1.3)
|
||||||
zip-zip (0.3)
|
|
||||||
rubyzip (>= 1.0.0)
|
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
@ -830,6 +828,7 @@ DEPENDENCIES
|
||||||
rspec-rails (= 3.2.1)
|
rspec-rails (= 3.2.1)
|
||||||
rubocop (= 0.31.0)
|
rubocop (= 0.31.0)
|
||||||
ruby-oembed (= 0.8.14)
|
ruby-oembed (= 0.8.14)
|
||||||
|
rubyzip
|
||||||
sass-rails (= 5.0.1)
|
sass-rails (= 5.0.1)
|
||||||
selenium-webdriver (= 2.45.0)
|
selenium-webdriver (= 2.45.0)
|
||||||
shoulda-matchers (= 2.8.0)
|
shoulda-matchers (= 2.8.0)
|
||||||
|
|
@ -851,4 +850,3 @@ DEPENDENCIES
|
||||||
uuid (= 2.3.7)
|
uuid (= 2.3.7)
|
||||||
webmock (= 1.21.0)
|
webmock (= 1.21.0)
|
||||||
will_paginate (= 3.0.7)
|
will_paginate (= 3.0.7)
|
||||||
zip-zip
|
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,7 @@ class User < ActiveRecord::Base
|
||||||
def perform_export_photos!
|
def perform_export_photos!
|
||||||
temp_zip = Tempfile.new([username, '_photos.zip'])
|
temp_zip = Tempfile.new([username, '_photos.zip'])
|
||||||
begin
|
begin
|
||||||
Zip::ZipOutputStream.open(temp_zip.path) do |zos|
|
Zip::OutputStream.open(temp_zip.path) do |zos|
|
||||||
photos.each do |photo|
|
photos.each do |photo|
|
||||||
begin
|
begin
|
||||||
photo_file = photo.unprocessed_image.file
|
photo_file = photo.unprocessed_image.file
|
||||||
|
|
|
||||||
7
config/initializers/rubyzip.rb
Normal file
7
config/initializers/rubyzip.rb
Normal file
|
|
@ -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
|
||||||
|
|
@ -1065,14 +1065,14 @@ describe User, :type => :model do
|
||||||
expect(@user.exported_photos_at).to be_present
|
expect(@user.exported_photos_at).to be_present
|
||||||
expect(@user.exporting_photos).to be_falsey
|
expect(@user.exporting_photos).to be_falsey
|
||||||
expect(@user.exported_photos_file.filename).to match /.zip/
|
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
|
end
|
||||||
|
|
||||||
it "does not add empty entries when photo not found" do
|
it "does not add empty entries when photo not found" do
|
||||||
File.unlink @user.photos.first.unprocessed_image.path
|
File.unlink @user.photos.first.unprocessed_image.path
|
||||||
@user.perform_export_photos!
|
@user.perform_export_photos!
|
||||||
expect(@user.exported_photos_file.filename).to match /.zip/
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue