paperclip-deflater 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +12 -3
- data/Gemfile +6 -1
- data/VERSION +1 -1
- data/lib/paperclip/deflater.rb +1 -0
- data/lib/paperclip/processors/gzip.rb +1 -6
- data/paperclip-deflater.gemspec +2 -1
- data/spec/paperclip/processors/gzip_spec.rb +3 -36
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22a6909fe3c491a3b9c08065b60b32bc9f45d1bd
|
4
|
+
data.tar.gz: 6e0cab425ade14e89012f15f5827c981dee853b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19ee0b38ac427b61b74e0a81a0e4914ac2a2e818ffac9aa01f17c1fc59676ca2e2dc03728645e64f3d458f38cb95451c1dcc6c09d981e9882dae782e275350fd
|
7
|
+
data.tar.gz: 94959e51bbbcc698971aea0ae4e1dc26f5aa7dea70d4d49920d93cfa9dfcfaa7847d1bb4b1e40c3dc8024485dd53bd6a3f0fda0983e5ea69b86733c79ac56bb4
|
data/.travis.yml
CHANGED
@@ -1,14 +1,23 @@
|
|
1
1
|
language: ruby
|
2
2
|
|
3
3
|
rvm:
|
4
|
-
- 1.9.3
|
5
|
-
- 2.0.0
|
6
4
|
- 2.1
|
5
|
+
- 2.2
|
6
|
+
- 2.3
|
7
|
+
|
8
|
+
install:
|
9
|
+
- "gem install bundler"
|
10
|
+
- "bundle install --jobs=3 --retry=3"
|
7
11
|
|
8
12
|
env:
|
9
13
|
-
|
10
|
-
- PAPERCLIP_VERSION=3.
|
14
|
+
- PAPERCLIP_VERSION=3.4.0
|
15
|
+
- PAPERCLIP_VERSION=3.5.0
|
11
16
|
- PAPERCLIP_VERSION=4.0.0
|
17
|
+
- PAPERCLIP_VERSION=4.1.0
|
18
|
+
- PAPERCLIP_VERSION=4.2.0
|
19
|
+
- PAPERCLIP_VERSION=4.3.0
|
20
|
+
- PAPERCLIP_VERSION=5.0.0
|
12
21
|
|
13
22
|
script: "bundle exec rake spec"
|
14
23
|
|
data/Gemfile
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
ruby_version = RUBY_VERSION
|
4
|
+
paperclip_version = ENV['PAPERCLIP_VERSION']
|
5
|
+
|
6
|
+
gem "paperclip", "~> #{paperclip_version}" if paperclip_version
|
7
|
+
|
8
|
+
gem "activesupport", "< 5.0.0" if ruby_version =~ /^2\.1\./
|
4
9
|
|
5
10
|
gemspec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/lib/paperclip/deflater.rb
CHANGED
@@ -13,16 +13,11 @@ module Paperclip
|
|
13
13
|
strategy = @gzip_options[:strategy]
|
14
14
|
|
15
15
|
dst = create_tempfile
|
16
|
-
|
17
|
-
gz = Zlib::GzipWriter.new(dst, level, strategy)
|
16
|
+
Zlib::GzipWriter.open(dst, level, strategy) do |gz|
|
18
17
|
while chunk = @file.read(16 * 1024) do
|
19
18
|
gz.write chunk
|
20
19
|
end
|
21
|
-
rescue ::Exception => e
|
22
|
-
gz.close rescue nil
|
23
|
-
raise e
|
24
20
|
end
|
25
|
-
gz.close
|
26
21
|
@file.rewind
|
27
22
|
dst.open
|
28
23
|
|
data/paperclip-deflater.gemspec
CHANGED
@@ -10,13 +10,14 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.summary = "Deflate Processor for Paperclip"
|
11
11
|
gem.description = "Deflate Processor for Paperclip"
|
12
12
|
gem.license = "MIT"
|
13
|
+
gem.required_ruby_version = '~> 2.1'
|
13
14
|
|
14
15
|
gem.files = `git ls-files`.split("\n")
|
15
16
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
17
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
18
|
gem.require_paths = ['lib']
|
18
19
|
|
19
|
-
gem.add_dependency "paperclip", ">= 3.
|
20
|
+
gem.add_dependency "paperclip", ">= 3.4"
|
20
21
|
|
21
22
|
gem.add_development_dependency "rake"
|
22
23
|
gem.add_development_dependency "rspec", ">= 3.0"
|
@@ -15,50 +15,17 @@ describe Paperclip::Processors::Gzip do
|
|
15
15
|
it "deflates the file" do
|
16
16
|
dst = subject.make
|
17
17
|
data = dst.read
|
18
|
-
expect(data[0..3]).to eq(result1)
|
19
18
|
# data[4..7] is modified time and it changes
|
20
|
-
expect(data
|
19
|
+
expect(data.bytes).to match(result)
|
21
20
|
end
|
22
21
|
end
|
23
|
-
let(:
|
24
|
-
let(:result2) { "\u0000\u0003+I-.\xE1\u0002\u0000\xC65\xB9;\u0005\u0000\u0000\u0000" }
|
22
|
+
let(:result) { [31, 139, 8, 0, anything, anything, anything, anything, 0, 3, 43, 73, 45, 46, 225, 2, 0, 198, 53, 185, 59, 5, 0, 0, 0] }
|
25
23
|
include_examples "deflate"
|
26
24
|
context "level gzip_options" do
|
27
|
-
let(:
|
25
|
+
let(:result) { [31, 139, 8, 0, anything, anything, anything, anything, 2, 3, 43, 73, 45, 46, 225, 2, 0, 198, 53, 185, 59, 5, 0, 0, 0] }
|
28
26
|
let(:options) { {gzip_options: {level: Zlib::BEST_COMPRESSION}} }
|
29
27
|
include_examples "deflate"
|
30
28
|
end
|
31
|
-
context "gzip failed to close" do
|
32
|
-
before do
|
33
|
-
@error = RuntimeError.new "error"
|
34
|
-
@writer = {}
|
35
|
-
allow(Zlib::GzipWriter).to receive(:new).and_return @writer
|
36
|
-
allow(@writer).to receive(:write).and_return nil
|
37
|
-
end
|
38
|
-
|
39
|
-
it "raises an error to close" do
|
40
|
-
expect(@writer).to receive(:close).and_raise @error
|
41
|
-
expect {
|
42
|
-
subject.make
|
43
|
-
}.to raise_error @error
|
44
|
-
end
|
45
|
-
end
|
46
|
-
context "gzip failed to write" do
|
47
|
-
before do
|
48
|
-
@error1 = RuntimeError.new "error1"
|
49
|
-
@error2 = RuntimeError.new "error2"
|
50
|
-
@writer = {}
|
51
|
-
allow(Zlib::GzipWriter).to receive(:new).and_return @writer
|
52
|
-
allow(@writer).to receive(:write).and_raise @error1
|
53
|
-
end
|
54
|
-
|
55
|
-
it "does not raise an error to close" do
|
56
|
-
expect(@writer).to receive(:close).and_raise @error2
|
57
|
-
expect {
|
58
|
-
subject.make
|
59
|
-
}.to raise_error @error1
|
60
|
-
end
|
61
|
-
end
|
62
29
|
end
|
63
30
|
end
|
64
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip-deflater
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daisuke Taniwaki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paperclip
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '3.
|
26
|
+
version: '3.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,9 +105,9 @@ require_paths:
|
|
105
105
|
- lib
|
106
106
|
required_ruby_version: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '2.1'
|
111
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
113
|
- - ">="
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
version: '0'
|
116
116
|
requirements: []
|
117
117
|
rubyforge_project:
|
118
|
-
rubygems_version: 2.
|
118
|
+
rubygems_version: 2.5.1
|
119
119
|
signing_key:
|
120
120
|
specification_version: 4
|
121
121
|
summary: Deflate Processor for Paperclip
|
@@ -127,4 +127,3 @@ test_files:
|
|
127
127
|
- spec/paperclip/processors/plain_spec.rb
|
128
128
|
- spec/spec_helper.rb
|
129
129
|
- spec/support/files.rb
|
130
|
-
has_rdoc:
|