wicked_pdf 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/generators/wicked_pdf/templates/wicked_pdf.rb +5 -0
- data/generators/wicked_pdf/wicked_pdf_generator.rb +7 -0
- data/lib/pdf_helper.rb +1 -1
- data/lib/wicked_pdf.rb +12 -9
- data/lib/wicked_pdf_helper.rb +5 -5
- data/lib/wicked_pdf_railtie.rb +1 -1
- data/test/fixtures/document_with_long_line.html +16 -0
- data/test/pdf_helper_test.rb +1 -1
- data/test/wicked_pdf_helper_test.rb +2 -2
- data/test/wicked_pdf_test.rb +9 -0
- metadata +7 -4
data/README.md
CHANGED
@@ -240,7 +240,7 @@ First of all you must configure the render parameter ":show_as_html => params[:d
|
|
240
240
|
|
241
241
|
http://localhost:3001/CONTROLLER/X.pdf?debug=1
|
242
242
|
|
243
|
-
However, the wicked_pdf_* helpers will use file
|
243
|
+
However, the wicked_pdf_* helpers will use file:/// paths for assets when using :show_as_html, and your browser's cross-domain safety feature will kick in, and not render them. To get around this, you can load your assets like so in your templates:
|
244
244
|
|
245
245
|
<%= params[:debug].present? ? image_tag('foo') : wicked_pdf_image_tag('foo') %>
|
246
246
|
|
data/lib/pdf_helper.rb
CHANGED
@@ -86,7 +86,7 @@ module PdfHelper
|
|
86
86
|
tf.write render_to_string(:template => options[hf][:html][:template], :layout => options[hf][:html][:layout], :locals => options[hf][:html][:locals], :formats => options[hf][:html][:formats], :handlers => options[hf][:html][:handlers])
|
87
87
|
tf.flush
|
88
88
|
options[hf][:html].delete(:template)
|
89
|
-
options[hf][:html][:url] = "file
|
89
|
+
options[hf][:html][:url] = "file:///#{tf.path}"
|
90
90
|
end
|
91
91
|
end
|
92
92
|
options
|
data/lib/wicked_pdf.rb
CHANGED
@@ -29,16 +29,19 @@ class WickedPdf
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def pdf_from_string(string, options={})
|
32
|
-
|
32
|
+
string_file = WickedPdfTempfile.new("wicked_pdf.html")
|
33
|
+
string_file.write(string)
|
34
|
+
string_file.close
|
35
|
+
|
36
|
+
generated_pdf_file = WickedPdfTempfile.new("wicked_pdf_generated_file.pdf")
|
37
|
+
command = "\"#{@exe_path}\" #{'-q ' unless on_windows?}#{parse_options(options)} \"file://#{string_file.path}\" \"#{generated_pdf_file.path}\" " # -q for no errors on stdout
|
33
38
|
print_command(command) if in_development_mode?
|
34
|
-
|
35
|
-
|
36
|
-
stdout.binmode
|
37
|
-
stderr.binmode
|
38
|
-
stdin.write(string)
|
39
|
-
stdin.close
|
40
|
-
[stdout.read, stderr.read]
|
39
|
+
err = Open3.popen3(command) do |stdin, stdout, stderr|
|
40
|
+
stderr.read
|
41
41
|
end
|
42
|
+
generated_pdf_file.rewind
|
43
|
+
generated_pdf_file.binmode
|
44
|
+
pdf = generated_pdf_file.read
|
42
45
|
raise "PDF could not be generated!" if pdf and pdf.rstrip.length == 0
|
43
46
|
pdf
|
44
47
|
rescue Exception => e
|
@@ -118,7 +121,7 @@ class WickedPdf
|
|
118
121
|
tf.flush
|
119
122
|
options[hf].delete(:content)
|
120
123
|
options[hf][:html] = {}
|
121
|
-
options[hf][:html][:url] = "file
|
124
|
+
options[hf][:html][:url] = "file:///#{tf.path}"
|
122
125
|
end
|
123
126
|
unless opt_hf[:html].blank?
|
124
127
|
r += make_option("#{hf.to_s}-html", opt_hf[:html][:url]) unless opt_hf[:html][:url].blank?
|
data/lib/wicked_pdf_helper.rb
CHANGED
@@ -12,11 +12,11 @@ module WickedPdfHelper
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def wicked_pdf_image_tag(img, options={})
|
15
|
-
image_tag "file
|
15
|
+
image_tag "file:///#{WickedPdfHelper.root_path.join('public', 'images', img)}", options
|
16
16
|
end
|
17
17
|
|
18
18
|
def wicked_pdf_javascript_src_tag(jsfile, options={})
|
19
|
-
javascript_src_tag "file
|
19
|
+
javascript_src_tag "file:///#{WickedPdfHelper.root_path.join('public', 'javascripts', jsfile)}", options
|
20
20
|
end
|
21
21
|
|
22
22
|
def wicked_pdf_javascript_include_tag(*sources)
|
@@ -32,11 +32,11 @@ module WickedPdfHelper
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def wicked_pdf_image_tag(img, options={})
|
35
|
-
image_tag "file
|
35
|
+
image_tag "file:///#{asset_pathname(img).to_s}", options
|
36
36
|
end
|
37
37
|
|
38
38
|
def wicked_pdf_javascript_src_tag(jsfile, options={})
|
39
|
-
javascript_include_tag "file
|
39
|
+
javascript_include_tag "file:///#{asset_pathname(jsfile).to_s}", options
|
40
40
|
end
|
41
41
|
|
42
42
|
def wicked_pdf_javascript_include_tag(*sources)
|
@@ -64,7 +64,7 @@ module WickedPdfHelper
|
|
64
64
|
if Rails.configuration.assets.compile == false
|
65
65
|
if ActionController::Base.asset_host
|
66
66
|
require 'open-uri'
|
67
|
-
open(asset_pathname(source)) {|f| f.read }
|
67
|
+
open(asset_pathname(source), 'r:UTF-8') {|f| f.read }
|
68
68
|
else
|
69
69
|
IO.read(asset_pathname(source))
|
70
70
|
end
|
data/lib/wicked_pdf_railtie.rb
CHANGED
@@ -17,7 +17,7 @@ if defined?(Rails)
|
|
17
17
|
class WickedRailtie < Rails::Railtie
|
18
18
|
initializer "wicked_pdf.register" do |app|
|
19
19
|
ActionController::Base.send :include, PdfHelper
|
20
|
-
if Rails::VERSION::MINOR > 0
|
20
|
+
if Rails::VERSION::MINOR > 0 && Rails.configuration.assets.enabled
|
21
21
|
ActionView::Base.send :include, WickedPdfHelper::Assets
|
22
22
|
else
|
23
23
|
ActionView::Base.send :include, WickedPdfHelper
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<body>
|
5
|
+
<div>
|
6
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
7
|
+
</div>
|
8
|
+
</body>
|
9
|
+
</html>
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
data/test/pdf_helper_test.rb
CHANGED
@@ -22,7 +22,7 @@ class PdfHelperTest < ActionController::TestCase
|
|
22
22
|
options = @ac.send( :prerender_header_and_footer,
|
23
23
|
:header => {:html => { :template => 'hf.html.erb'}});
|
24
24
|
assert !options[:header][:html].has_key?(:template)
|
25
|
-
assert_match /^file
|
25
|
+
assert_match /^file:\/\/\/.*wicked_header_pdf.*\.html/, options[:header][:html][:url]
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -9,12 +9,12 @@ class WickedPdfHelperTest < ActionView::TestCase
|
|
9
9
|
end
|
10
10
|
|
11
11
|
test 'wicked_pdf_image_tag should return the same as image_tag when passed a full path' do
|
12
|
-
assert_equal image_tag("file
|
12
|
+
assert_equal image_tag("file:///#{Rails.root.join('public','images','pdf')}"),
|
13
13
|
wicked_pdf_image_tag('pdf')
|
14
14
|
end
|
15
15
|
|
16
16
|
test 'wicked_pdf_javascript_src_tag should return the same as javascript_src_tag when passed a full path' do
|
17
|
-
assert_equal javascript_src_tag("file
|
17
|
+
assert_equal javascript_src_tag("file:///#{Rails.root.join('public','javascripts','pdf')}", {}),
|
18
18
|
wicked_pdf_javascript_src_tag('pdf')
|
19
19
|
end
|
20
20
|
|
data/test/wicked_pdf_test.rb
CHANGED
@@ -19,6 +19,15 @@ class WickedPdfTest < ActiveSupport::TestCase
|
|
19
19
|
assert pdf.rstrip.end_with?("%%EOF")
|
20
20
|
assert pdf.length > 100
|
21
21
|
end
|
22
|
+
|
23
|
+
test "should generate PDF from html document with long lines" do
|
24
|
+
wp = WickedPdf.new
|
25
|
+
document_with_long_line_file = File.new("test/fixtures/document_with_long_line.html", "r")
|
26
|
+
pdf = wp.pdf_from_string(document_with_long_line_file.read)
|
27
|
+
assert pdf.start_with?("%PDF-1.4")
|
28
|
+
assert pdf.rstrip.end_with?("%%EOF")
|
29
|
+
assert pdf.length > 100
|
30
|
+
end
|
22
31
|
|
23
32
|
test "should raise exception when no path to wkhtmltopdf" do
|
24
33
|
assert_raise RuntimeError do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wicked_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 59
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 9
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.9.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Miles Z. Sterret
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-12-20 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rails
|
@@ -67,11 +67,14 @@ files:
|
|
67
67
|
- lib/wicked_pdf_helper.rb
|
68
68
|
- lib/wicked_pdf_railtie.rb
|
69
69
|
- lib/wicked_pdf_tempfile.rb
|
70
|
+
- test/fixtures/document_with_long_line.html
|
70
71
|
- test/fixtures/wicked.css
|
71
72
|
- test/pdf_helper_test.rb
|
72
73
|
- test/test_helper.rb
|
73
74
|
- test/wicked_pdf_helper_test.rb
|
74
75
|
- test/wicked_pdf_test.rb
|
76
|
+
- generators/wicked_pdf/templates/wicked_pdf.rb
|
77
|
+
- generators/wicked_pdf/wicked_pdf_generator.rb
|
75
78
|
homepage: https://github.com/mileszs/wicked_pdf
|
76
79
|
licenses: []
|
77
80
|
|