icanhazpdf 0.0.3 → 0.0.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/Gemfile.lock +2 -2
- data/lib/icanhazpdf/client.rb +4 -4
- data/lib/icanhazpdf/controller.rb +2 -2
- data/lib/icanhazpdf/version.rb +1 -1
- data/spec/lib/icanhazpdf/client_spec.rb +8 -1
- data/spec/lib/icanhazpdf/controller_spec.rb +8 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5946da7cdb453bfb5c81b36a2db70ca140c08aa
|
4
|
+
data.tar.gz: f0380c04da4ec6e47dc9c91d6d80e466095204cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5249f12359b5469d0de2af37142c5cbf9d01936ecdb4ea97a85ef2ebefdbdc3b2298d09f9363fb47bc99e605bd1b922c4f0434aa870d346917125004007d0dcb
|
7
|
+
data.tar.gz: 36769713bce1a772d834d5f66de1ec826227e6ac4513b7baa18cc310163e30a99747f272543bbf0c57531b62105d1b56e6a5eb4dc98d14d3dadb25558b29df07
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
|
4
|
+
icanhazpdf (0.0.4)
|
5
5
|
activesupport (~> 4.0)
|
6
6
|
httparty (~> 0.13)
|
7
7
|
|
@@ -75,9 +75,9 @@ PLATFORMS
|
|
75
75
|
ruby
|
76
76
|
|
77
77
|
DEPENDENCIES
|
78
|
-
Icanhazpdf!
|
79
78
|
bundler (~> 1.6)
|
80
79
|
guard-rspec (~> 4.3)
|
80
|
+
icanhazpdf!
|
81
81
|
pry (~> 0.10)
|
82
82
|
rake (~> 10.3)
|
83
83
|
rspec (~> 3.0)
|
data/lib/icanhazpdf/client.rb
CHANGED
@@ -14,11 +14,11 @@ module Icanhazpdf
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.default_service_url
|
17
|
-
'http://icanhazpdf.lsfapp.com'
|
17
|
+
'http://icanhazpdf.lsfapp.com/generate_url'
|
18
18
|
end
|
19
19
|
|
20
20
|
# generate a pdf from the url passed
|
21
|
-
def pdf_from_url(full_url)
|
21
|
+
def pdf_from_url(full_url, use_wkhtmltopdf = false)
|
22
22
|
uri = URI(full_url)
|
23
23
|
params = URI.decode_www_form(uri.query || "") << ['icanhazpdf', Icanhazpdf::Client::api_key]
|
24
24
|
uri.query = URI.encode_www_form(params)
|
@@ -27,8 +27,8 @@ module Icanhazpdf
|
|
27
27
|
rescue
|
28
28
|
service_url = Icanhazpdf::Client.default_service_url
|
29
29
|
end
|
30
|
-
encoded_url = "#{service_url}
|
31
|
-
|
30
|
+
encoded_url = "#{service_url}?url=#{URI.encode(uri.to_s).gsub(':', '%3A').gsub('/', '%2F').gsub('?', '%3F').gsub('=', '%3D')}"
|
31
|
+
encoded_url += "&use_wkhtmltopdf=true" if use_wkhtmltopdf
|
32
32
|
HTTParty.get(encoded_url, :timeout => 10000)
|
33
33
|
end
|
34
34
|
|
@@ -9,10 +9,10 @@ module Icanhazpdf
|
|
9
9
|
module Renderer
|
10
10
|
|
11
11
|
# generate and render a pdf from a url
|
12
|
-
def render_pdf_from(url, filename = "")
|
12
|
+
def render_pdf_from(url, filename = "", use_wkhtmltopdf = false)
|
13
13
|
options = {}
|
14
14
|
options[:filename] = filename if filename.present?
|
15
|
-
render_response_for Icanhazpdf::Client.new.pdf_from_url(url), options
|
15
|
+
render_response_for Icanhazpdf::Client.new.pdf_from_url(url, use_wkhtmltopdf), options
|
16
16
|
end
|
17
17
|
|
18
18
|
# send the pdf to the user if its a valid file
|
data/lib/icanhazpdf/version.rb
CHANGED
@@ -42,7 +42,14 @@ describe 'Icanhazpdf::Client' do
|
|
42
42
|
@result = subject.pdf_from_url a_url
|
43
43
|
end
|
44
44
|
|
45
|
-
context '
|
45
|
+
context 'use wkhtmltopdf is requested as engine' do
|
46
|
+
it 'sets the use_wkhtmltopdf param in the query string' do
|
47
|
+
expect(HTTParty).to receive(:get).with(include("use_wkhtmltopdf=true"), be_an(Hash))
|
48
|
+
@result = subject.pdf_from_url a_url, true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'no icanhazpdf api key in the config' do
|
46
53
|
before(:each) do
|
47
54
|
allow(rails_config).to receive(:icanhazpdf_api_key).and_raise("Undefined config value")
|
48
55
|
end
|
@@ -31,7 +31,7 @@ describe "Icanhazpdf::Controller::Renderer" do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'requests the pdf from the client supplying the url' do
|
34
|
-
expect(client).to receive(:pdf_from_url).with(url)
|
34
|
+
expect(client).to receive(:pdf_from_url).with(url, false)
|
35
35
|
subject.render_pdf_from url, filename
|
36
36
|
end
|
37
37
|
|
@@ -46,6 +46,13 @@ describe "Icanhazpdf::Controller::Renderer" do
|
|
46
46
|
subject.render_pdf_from url
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
context 'wkhtmltopdf is requested as rendering engine' do
|
51
|
+
it 'calls render response with use_wkhtmltopdf value supplied' do
|
52
|
+
expect(client).to receive(:pdf_from_url).with(url, true)
|
53
|
+
subject.render_pdf_from url, "", true
|
54
|
+
end
|
55
|
+
end
|
49
56
|
end
|
50
57
|
|
51
58
|
describe 'rendering the response from the client' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: icanhazpdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nic Pillinger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|