pdfkit 0.8.4 → 0.8.4.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pdfkit might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +1 -1
- data/lib/pdfkit/middleware.rb +4 -0
- data/lib/pdfkit/version.rb +1 -1
- data/pdfkit.gemspec +1 -2
- data/spec/middleware_spec.rb +29 -18
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc5beb396f2168a0c0ca91ee77bba2af22421d445ea05bbb5f57f687957b75e1
|
4
|
+
data.tar.gz: 96505e77627a3655edfd2c91c5ad190faea49fa7df184d456d838fa3ec620b08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b07cf202025b2f252250d76be4b293c2cb3a0ec1b89666d5aec74dafa377e675190074f7dd2e2eba7ea2d6744e1f31be75ecf632827ce27dc209fbf9f137e564
|
7
|
+
data.tar.gz: 86c5e37ed66290882d4e7e0c7d7c7fb2b378068e9d1b28a4837acbc6268ee0da60819c5efdafc2c1ad0940adf30cbd084219fd3413efb1f9b4feefb5105dc55f
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
+
2019-02-22
|
2
|
+
=================
|
3
|
+
* Bump to 0.8.4.1
|
4
|
+
* Make PDFkit threadsafe (#377)
|
5
|
+
* Update activesupport (#434)
|
6
|
+
|
1
7
|
2019-02-21
|
2
8
|
=================
|
3
9
|
* Bump to 0.8.4
|
4
10
|
* Removed support for Ruby < 2.2
|
11
|
+
* Xvfb support (#277)
|
12
|
+
* Remove 'config.protocol' from the README (#389)
|
5
13
|
|
6
14
|
2015-08-26
|
7
15
|
=================
|
data/Gemfile
CHANGED
data/lib/pdfkit/middleware.rb
CHANGED
data/lib/pdfkit/version.rb
CHANGED
data/pdfkit.gemspec
CHANGED
@@ -23,10 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.requirements << "wkhtmltopdf"
|
24
24
|
|
25
25
|
# Development Dependencies
|
26
|
-
s.add_development_dependency(%q<activesupport>, [">=
|
26
|
+
s.add_development_dependency(%q<activesupport>, [">= 4.1.11"])
|
27
27
|
s.add_development_dependency(%q<mocha>, [">= 0.9.10"])
|
28
28
|
s.add_development_dependency(%q<rack-test>, [">= 0.5.6"])
|
29
|
-
s.add_development_dependency(%q<i18n>, ["~>0.6.11"]) # Ruby 1.9.2 compatibility
|
30
29
|
s.add_development_dependency(%q<rake>, ["~>0.9.2"])
|
31
30
|
s.add_development_dependency(%q<rdoc>, ["~> 4.0.1"])
|
32
31
|
s.add_development_dependency(%q<rspec>, ["~> 3.0"])
|
data/spec/middleware_spec.rb
CHANGED
@@ -21,6 +21,35 @@ describe PDFKit::Middleware do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
describe "#call" do
|
24
|
+
|
25
|
+
describe 'threadsafety' do
|
26
|
+
before { mock_app }
|
27
|
+
it 'is threadsafe' do
|
28
|
+
n = 30
|
29
|
+
extensions = Array.new(n) { rand > 0.5 ? 'html' : 'pdf' }
|
30
|
+
actual_content_types = Hash.new
|
31
|
+
|
32
|
+
threads = (0...n).map { |i|
|
33
|
+
Thread.new do
|
34
|
+
resp = get("http://www.example.org/public/test.#{extensions[i]}")
|
35
|
+
actual_content_types[i] = resp.content_type
|
36
|
+
end
|
37
|
+
}
|
38
|
+
|
39
|
+
threads.each(&:join)
|
40
|
+
|
41
|
+
extensions.each_with_index do |extension, index|
|
42
|
+
result = actual_content_types[index]
|
43
|
+
case extension
|
44
|
+
when 'html', 'txt', 'csv'
|
45
|
+
expect(result).to eq("text/#{extension}")
|
46
|
+
when 'pdf'
|
47
|
+
expect(result).to eq('application/pdf')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
24
53
|
describe "caching" do
|
25
54
|
let(:headers) do
|
26
55
|
{
|
@@ -397,22 +426,4 @@ describe PDFKit::Middleware do
|
|
397
426
|
end
|
398
427
|
end
|
399
428
|
end
|
400
|
-
|
401
|
-
it "does not get stuck rendering each request as pdf" do
|
402
|
-
mock_app
|
403
|
-
# false by default. No requests.
|
404
|
-
expect(@app.send(:rendering_pdf?)).to eq(false)
|
405
|
-
|
406
|
-
# Remain false on a normal request
|
407
|
-
get 'http://www.example.org/public/file'
|
408
|
-
expect(@app.send(:rendering_pdf?)).to eq(false)
|
409
|
-
|
410
|
-
# Return true on a pdf request.
|
411
|
-
get 'http://www.example.org/public/file.pdf'
|
412
|
-
expect(@app.send(:rendering_pdf?)).to eq(true)
|
413
|
-
|
414
|
-
# Restore to false on any non-pdf request.
|
415
|
-
get 'http://www.example.org/public/file'
|
416
|
-
expect(@app.send(:rendering_pdf?)).to eq(false)
|
417
|
-
end
|
418
429
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdfkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.4
|
4
|
+
version: 0.8.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Pace
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 4.1.11
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 4.1.11
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: mocha
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,20 +53,6 @@ dependencies:
|
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 0.5.6
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: i18n
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 0.6.11
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 0.6.11
|
70
56
|
- !ruby/object:Gem::Dependency
|
71
57
|
name: rake
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|