rtftopdf 1.0.0 → 1.0.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.
- checksums.yaml +4 -4
- data/Gemfile +0 -5
- data/README.md +5 -3
- data/lib/rtftopdf/version.rb +1 -1
- data/lib/rtftopdf.rb +2 -2
- data/rtftopdf.gemspec +2 -0
- data/test/lib/rtftopdf_test.rb +41 -23
- metadata +29 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b349e528e63f28b19bfeb734a1c369eb9beb44d0
|
4
|
+
data.tar.gz: e245e053d9fdf40b2e86d59e2c5cd09a1c20df40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 815246fc2511b05a6973212e9b5560d0f1c97e8f8308f6c8946854be61de9ecc9ea1e992f3718795c758bab4948385ace66043dcc7e1be7c29b90020fc0d6ca9
|
7
|
+
data.tar.gz: 6b1d232c55bb8dc61a9a4d573b1ad38eb0feba916e95c7c953b307cd15e2e2747e5d09fb6f444328ffeb150ba6bc758af6396cdcd06882261caf882034ff2405
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -5,8 +5,8 @@ Converts rtf strings to pdf output using unrtf and wkhtmltopdf.
|
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
brew install unrtf
|
9
|
+
brew install wkhtmltopdf
|
10
10
|
|
11
11
|
Add this line to your application's Gemfile:
|
12
12
|
|
@@ -22,7 +22,9 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
````ruby
|
26
|
+
RTFtoPDF.to_pdf("some rtf input")
|
27
|
+
````
|
26
28
|
|
27
29
|
## Contributing
|
28
30
|
|
data/lib/rtftopdf/version.rb
CHANGED
data/lib/rtftopdf.rb
CHANGED
@@ -3,7 +3,7 @@ require 'tempfile'
|
|
3
3
|
require 'pdfkit'
|
4
4
|
|
5
5
|
class RTF
|
6
|
-
|
6
|
+
def initialize rtf_content
|
7
7
|
@rtf_content = rtf_content
|
8
8
|
end
|
9
9
|
|
@@ -19,7 +19,7 @@ class RTF
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
module RTFtoPDF
|
23
23
|
def self.to_pdf rtf_content
|
24
24
|
html_content = RTF.new(rtf_content).to_html
|
25
25
|
pdf_content = PDFKit.new(html_content).to_pdf
|
data/rtftopdf.gemspec
CHANGED
@@ -18,7 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_runtime_dependency "pdfkit"
|
21
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
23
|
spec.add_development_dependency "rake"
|
23
24
|
spec.add_development_dependency "minitest", "~> 4.7.3"
|
25
|
+
spec.add_development_dependency "mocha"
|
24
26
|
end
|
data/test/lib/rtftopdf_test.rb
CHANGED
@@ -1,42 +1,60 @@
|
|
1
|
-
|
2
|
-
require 'mocha/setup'
|
1
|
+
require_relative '../test_helper'
|
3
2
|
|
4
3
|
describe "rtf to pdf conversion" do
|
5
|
-
|
4
|
+
|
5
|
+
let(:mock_pdfkit) do
|
6
|
+
m = Object.new
|
7
|
+
m.stubs(:to_pdf)
|
8
|
+
m
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "rtf to html conversion" do
|
12
|
+
|
13
|
+
let(:rtf_input) do
|
14
|
+
'{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fnil\fcharset0 Times New Roman;}{\f2\fnil Times New Roman;}{\f3\fswiss\fprq2\fcharset0 Arial;}}\viewkind4\uc1\pard\nowidctlpar\qr\b\f0\fs18 LOREM ISPO FACTO\par\pard\nowidctlpar\qc\f1\fs28 LOREM IPSEUM AGREEMENT\f0\fs18 \par}'
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:temporary_rtf_file) do
|
18
|
+
file = Tempfile.new('RTF')
|
19
|
+
file.write(rtf_input)
|
20
|
+
file.close
|
21
|
+
file
|
22
|
+
end
|
23
|
+
|
6
24
|
it "must turn rtf input into html" do
|
7
|
-
rtf_input = '{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fnil\fcharset0 Times New Roman;}{\f2\fnil Times New Roman;}{\f3\fswiss\fprq2\fcharset0 Arial;}}\viewkind4\uc1\pard\nowidctlpar\qr\b\f0\fs18 LOREM ISPO FACTO\par\pard\nowidctlpar\qc\f1\fs28 LOREM IPSEUM AGREEMENT\f0\fs18 \par}'
|
8
|
-
temporary_rtf_file = Tempfile.new('RTF')
|
9
|
-
temporary_rtf_file.write(rtf_input)
|
10
|
-
temporary_rtf_file.close
|
11
25
|
|
12
26
|
html_content = `unrtf #{temporary_rtf_file.path}`
|
13
27
|
temporary_rtf_file.unlink
|
14
|
-
|
15
|
-
mock_pdfkit
|
16
|
-
expects(:to_pdf)
|
17
|
-
end
|
28
|
+
|
29
|
+
mock_pdfkit.expects(:to_pdf)
|
18
30
|
|
19
31
|
PDFKit.expects(:new).with(html_content).returns(mock_pdfkit)
|
20
32
|
RTFtoPDF.to_pdf(rtf_input)
|
21
|
-
|
33
|
+
|
34
|
+
end
|
22
35
|
it "must delete the temporary file when its finished" do
|
23
36
|
Tempfile.any_instance.expects(:unlink)
|
24
37
|
RTFtoPDF.to_pdf("asdf")
|
25
38
|
end
|
26
39
|
end
|
27
|
-
it "must pass on the html result to pdf kit" do
|
28
|
-
mock_pdfkit = mock() do
|
29
|
-
expects(:to_pdf)
|
30
|
-
end
|
31
40
|
|
32
|
-
|
41
|
+
it "must pass on the html result to pdf kit" do
|
42
|
+
|
43
|
+
mock_pdfkit.expects(:to_pdf)
|
44
|
+
|
45
|
+
RTF.any_instance.stubs(:to_html).returns("my html content!")
|
33
46
|
|
34
|
-
|
47
|
+
PDFKit.expects(:new).with("my html content!").returns(mock_pdfkit)
|
35
48
|
RTFtoPDF.to_pdf("bla bla /so-=1 RTF content")
|
36
|
-
|
37
|
-
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
it "must return the pdf result from pdfkit" do
|
53
|
+
|
38
54
|
PDFKit.any_instance.stubs(:to_pdf).returns("my pdf!")
|
39
|
-
|
55
|
+
|
40
56
|
RTFtoPDF.to_pdf("00001").must_equal "my pdf!"
|
41
|
-
|
42
|
-
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtftopdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Caleb Cauthon
|
@@ -10,6 +10,20 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2013-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pdfkit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +66,20 @@ dependencies:
|
|
52
66
|
- - ~>
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: 4.7.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mocha
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
55
83
|
description: RTF to PDF conversion
|
56
84
|
email:
|
57
85
|
- calebcauthon@gmail.com
|