pdfkit 0.4.6 → 0.5.2
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.
- data/.gitignore +1 -0
- data/Gemfile +2 -8
- data/Gemfile.lock +23 -26
- data/History.md +26 -0
- data/POST_INSTALL +11 -5
- data/README.md +60 -19
- data/Rakefile +1 -22
- data/lib/pdfkit/configuration.rb +10 -8
- data/lib/pdfkit/middleware.rb +62 -44
- data/lib/pdfkit/pdfkit.rb +50 -49
- data/lib/pdfkit/source.rb +2 -6
- data/lib/pdfkit/version.rb +3 -0
- data/lib/pdfkit.rb +1 -2
- data/pdfkit.gemspec +19 -76
- data/spec/middleware_spec.rb +161 -15
- data/spec/pdfkit_spec.rb +97 -39
- data/spec/source_spec.rb +5 -0
- data/spec/spec_helper.rb +4 -7
- metadata +70 -101
- data/VERSION +0 -1
- data/bin/pdfkit +0 -72
metadata
CHANGED
|
@@ -1,99 +1,84 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pdfkit
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 0
|
|
8
|
-
- 4
|
|
9
|
-
- 6
|
|
10
|
-
version: 0.4.6
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.5.2
|
|
5
|
+
prerelease:
|
|
11
6
|
platform: ruby
|
|
12
|
-
authors:
|
|
13
|
-
-
|
|
7
|
+
authors:
|
|
8
|
+
- Jared Pace
|
|
9
|
+
- Relevance
|
|
14
10
|
autorequire:
|
|
15
11
|
bindir: bin
|
|
16
12
|
cert_chain: []
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
dependencies:
|
|
21
|
-
- !ruby/object:Gem::Dependency
|
|
22
|
-
prerelease: false
|
|
23
|
-
type: :development
|
|
13
|
+
date: 2011-07-02 00:00:00.000000000Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
24
16
|
name: rspec
|
|
25
|
-
|
|
17
|
+
requirement: &2152731540 !ruby/object:Gem::Requirement
|
|
26
18
|
none: false
|
|
27
|
-
requirements:
|
|
19
|
+
requirements:
|
|
28
20
|
- - ~>
|
|
29
|
-
- !ruby/object:Gem::Version
|
|
30
|
-
|
|
31
|
-
segments:
|
|
32
|
-
- 2
|
|
33
|
-
- 0
|
|
34
|
-
- 0
|
|
35
|
-
- beta
|
|
36
|
-
- 8
|
|
37
|
-
version: 2.0.0.beta.8
|
|
38
|
-
requirement: *id001
|
|
39
|
-
- !ruby/object:Gem::Dependency
|
|
40
|
-
prerelease: false
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 2.2.0
|
|
41
23
|
type: :development
|
|
42
|
-
|
|
43
|
-
version_requirements:
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: *2152731540
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: mocha
|
|
28
|
+
requirement: &2152731020 !ruby/object:Gem::Requirement
|
|
44
29
|
none: false
|
|
45
|
-
requirements:
|
|
46
|
-
- -
|
|
47
|
-
- !ruby/object:Gem::Version
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- 2
|
|
51
|
-
- 0
|
|
52
|
-
- 0
|
|
53
|
-
- beta
|
|
54
|
-
- 8
|
|
55
|
-
version: 2.0.0.beta.8
|
|
56
|
-
requirement: *id002
|
|
57
|
-
- !ruby/object:Gem::Dependency
|
|
30
|
+
requirements:
|
|
31
|
+
- - ! '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.9.10
|
|
34
|
+
type: :development
|
|
58
35
|
prerelease: false
|
|
36
|
+
version_requirements: *2152731020
|
|
37
|
+
- !ruby/object:Gem::Dependency
|
|
38
|
+
name: rack-test
|
|
39
|
+
requirement: &2152730540 !ruby/object:Gem::Requirement
|
|
40
|
+
none: false
|
|
41
|
+
requirements:
|
|
42
|
+
- - ! '>='
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: 0.5.6
|
|
59
45
|
type: :development
|
|
60
|
-
|
|
61
|
-
version_requirements:
|
|
46
|
+
prerelease: false
|
|
47
|
+
version_requirements: *2152730540
|
|
48
|
+
- !ruby/object:Gem::Dependency
|
|
49
|
+
name: activesupport
|
|
50
|
+
requirement: &2152730060 !ruby/object:Gem::Requirement
|
|
62
51
|
none: false
|
|
63
|
-
requirements:
|
|
64
|
-
- -
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
requirement: *id003
|
|
52
|
+
requirements:
|
|
53
|
+
- - ! '>='
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: 3.0.8
|
|
56
|
+
type: :development
|
|
57
|
+
prerelease: false
|
|
58
|
+
version_requirements: *2152730060
|
|
71
59
|
description: Uses wkhtmltopdf to create PDFs using HTML
|
|
72
|
-
email:
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
email:
|
|
61
|
+
- jared@codewordstudios.com
|
|
62
|
+
executables: []
|
|
75
63
|
extensions: []
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- LICENSE
|
|
79
|
-
- README.md
|
|
80
|
-
files:
|
|
64
|
+
extra_rdoc_files: []
|
|
65
|
+
files:
|
|
81
66
|
- .document
|
|
82
67
|
- .gitignore
|
|
83
68
|
- .rspec
|
|
84
69
|
- Gemfile
|
|
85
70
|
- Gemfile.lock
|
|
71
|
+
- History.md
|
|
86
72
|
- LICENSE
|
|
87
73
|
- POST_INSTALL
|
|
88
74
|
- README.md
|
|
89
75
|
- Rakefile
|
|
90
|
-
- VERSION
|
|
91
|
-
- bin/pdfkit
|
|
92
76
|
- lib/pdfkit.rb
|
|
93
77
|
- lib/pdfkit/configuration.rb
|
|
94
78
|
- lib/pdfkit/middleware.rb
|
|
95
79
|
- lib/pdfkit/pdfkit.rb
|
|
96
80
|
- lib/pdfkit/source.rb
|
|
81
|
+
- lib/pdfkit/version.rb
|
|
97
82
|
- pdfkit.gemspec
|
|
98
83
|
- spec/fixtures/example.css
|
|
99
84
|
- spec/fixtures/example.html
|
|
@@ -101,49 +86,33 @@ files:
|
|
|
101
86
|
- spec/pdfkit_spec.rb
|
|
102
87
|
- spec/source_spec.rb
|
|
103
88
|
- spec/spec_helper.rb
|
|
104
|
-
has_rdoc: true
|
|
105
89
|
homepage: http://github.com/jdpace/PDFKit
|
|
106
90
|
licenses: []
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
Now install wkhtmltopdf binaries:
|
|
112
|
-
Global: sudo `which pdfkit` --install-wkhtmltopdf
|
|
113
|
-
or inside RVM folder: export TO=`which pdfkit | sed 's:/pdfkit:/wkhtmltopdf:'` && pdfkit --install-wkhtmltopdf
|
|
114
|
-
(run pdfkit --help to see more options)
|
|
115
|
-
|
|
116
|
-
******************************************************************
|
|
117
|
-
rdoc_options:
|
|
118
|
-
- --charset=UTF-8
|
|
119
|
-
require_paths:
|
|
91
|
+
post_install_message:
|
|
92
|
+
rdoc_options: []
|
|
93
|
+
require_paths:
|
|
120
94
|
- lib
|
|
121
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
96
|
none: false
|
|
123
|
-
requirements:
|
|
124
|
-
- -
|
|
125
|
-
- !ruby/object:Gem::Version
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- 0
|
|
129
|
-
version: "0"
|
|
130
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
|
+
requirements:
|
|
98
|
+
- - ! '>='
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
100
|
+
version: '0'
|
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
102
|
none: false
|
|
132
|
-
requirements:
|
|
133
|
-
- -
|
|
134
|
-
- !ruby/object:Gem::Version
|
|
135
|
-
|
|
136
|
-
segments:
|
|
137
|
-
- 0
|
|
138
|
-
version: "0"
|
|
103
|
+
requirements:
|
|
104
|
+
- - ! '>='
|
|
105
|
+
- !ruby/object:Gem::Version
|
|
106
|
+
version: '0'
|
|
139
107
|
requirements: []
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
rubygems_version: 1.3.7
|
|
108
|
+
rubyforge_project: pdfkit
|
|
109
|
+
rubygems_version: 1.8.5
|
|
143
110
|
signing_key:
|
|
144
111
|
specification_version: 3
|
|
145
112
|
summary: HTML+CSS -> PDF
|
|
146
|
-
test_files:
|
|
113
|
+
test_files:
|
|
114
|
+
- spec/fixtures/example.css
|
|
115
|
+
- spec/fixtures/example.html
|
|
147
116
|
- spec/middleware_spec.rb
|
|
148
117
|
- spec/pdfkit_spec.rb
|
|
149
118
|
- spec/source_spec.rb
|
data/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.4.6
|
data/bin/pdfkit
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
require 'rubygems'
|
|
3
|
-
require 'optparse'
|
|
4
|
-
require 'rbconfig'
|
|
5
|
-
require 'open-uri'
|
|
6
|
-
require 'pdfkit/configuration'
|
|
7
|
-
|
|
8
|
-
def detect_architecture
|
|
9
|
-
case Config::CONFIG['host_os']
|
|
10
|
-
when /x86_64-linux/i
|
|
11
|
-
'amd64'
|
|
12
|
-
when /linux/i
|
|
13
|
-
'i386'
|
|
14
|
-
when /darwin/i
|
|
15
|
-
'OS-X.i368'
|
|
16
|
-
else
|
|
17
|
-
raise "No binaries found for your system. Please install wkhtmltopdf by hand."
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def cleanup(install_to)
|
|
22
|
-
`rm -rf wkhtmltopdf*`
|
|
23
|
-
`rm #{install_to}`
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def download_wkhtmltopdf(arch)
|
|
27
|
-
page = open("http://code.google.com/p/wkhtmltopdf/downloads/list").read
|
|
28
|
-
download = page.match(/href=".*name=(.*wkhtmltopdf-.*#{arch}.*?)&/) || raise("File not found..")
|
|
29
|
-
download = download[1]
|
|
30
|
-
url = "http://wkhtmltopdf.googlecode.com/files/#{download}"
|
|
31
|
-
puts "Downloading #{download} from #{url}"
|
|
32
|
-
|
|
33
|
-
`curl #{url} > #{download}`
|
|
34
|
-
download
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def install(download, arch, install_to)
|
|
38
|
-
puts "Installing #{download} to #{install_to}"
|
|
39
|
-
if download =~ /.tar.bz2$/
|
|
40
|
-
`tar xjvf #{download}`
|
|
41
|
-
`mv wkhtmltopdf-#{arch} #{install_to}`
|
|
42
|
-
elsif download =~ /.tar.lzma$/
|
|
43
|
-
raise "couldn't extract archive: lzcat not found" unless system("which lzcat > /dev/null 2>/dev/null")
|
|
44
|
-
`lzcat #{download} | tar x`
|
|
45
|
-
`mv wkhtmltopdf-#{arch} #{install_to}`
|
|
46
|
-
else
|
|
47
|
-
`mv #{download} #{install_to}`
|
|
48
|
-
end
|
|
49
|
-
`sudo chmod +x #{install_to}`
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
OptionParser.new do |parser|
|
|
53
|
-
parser.banner = "PDFKit\n\nOptions are:"
|
|
54
|
-
|
|
55
|
-
parser.on("--install-wkhtmltopdf", "Install wkhtmltopdf binaries (TO=/usr/local/bin ARCHITECTURE=i386)") do
|
|
56
|
-
architecture = ENV['ARCHITECTURE'] || detect_architecture
|
|
57
|
-
install_to = ENV['TO'] || PDFKit.configuration.wkhtmltopdf
|
|
58
|
-
|
|
59
|
-
Dir.chdir '/tmp'
|
|
60
|
-
|
|
61
|
-
cleanup(install_to)
|
|
62
|
-
download = download_wkhtmltopdf(architecture)
|
|
63
|
-
install(download, architecture, install_to)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
parser.on("--version", "Show Version.") do
|
|
67
|
-
root = File.dirname(File.dirname(__FILE__))
|
|
68
|
-
puts File.read(File.join(root, 'VERSION'))
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
parser.on("-h", "--help", "Show this.") { puts parser; exit }
|
|
72
|
-
end.parse!
|