pdfkit 0.8.4 → 0.8.4.1
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.
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
|