breezy_pdf_lite 0.0.1 → 0.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 +5 -5
- data/.gitattributes +1 -0
- data/.travis.yml +1 -1
- data/Gemfile.lock +15 -15
- data/README.md +1 -0
- data/breezy_pdf_lite.gemspec +3 -4
- data/example/config.ru +1 -1
- data/example/pragmatic.rb +9 -16
- data/lib/breezy_pdf_lite.rb +1 -0
- data/lib/breezy_pdf_lite/render_request.rb +14 -0
- data/lib/breezy_pdf_lite/util.rb +2 -0
- data/lib/breezy_pdf_lite/version.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 75d21afa34595a9efd7698b9896e6ffd03775bb18cd3e210df0afa325dbff005
|
4
|
+
data.tar.gz: 7a8a785b18aff3f2849950723f972fdd8a6776bcd3616c6570994f2dd53b6d64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7b89edd59b3e7f53a68db27efe49abf0861ba954522ddc3c5c7985cdac357346128bd71fa091dbe8e191ae19348ac804073e57c433f5eecb49da632e7d09eee
|
7
|
+
data.tar.gz: a1a0fe3c1a5b895eb60e80bf6ec2e5ce5cee20fb6e9d99f8e0480cfded62bbb927d9496bf3d9c56e3a23fc62171c95c45a70a9867f26f6b8ce80985f38d2aa1c
|
data/.gitattributes
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.html linguist-detectable=false
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -7,34 +7,34 @@ GEM
|
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
ast (2.4.0)
|
10
|
-
|
10
|
+
jaro_winkler (1.5.4)
|
11
|
+
minitest (5.14.0)
|
11
12
|
minitest-stub-const (0.6)
|
12
|
-
parallel (1.
|
13
|
-
parser (2.
|
13
|
+
parallel (1.19.1)
|
14
|
+
parser (2.7.0.2)
|
14
15
|
ast (~> 2.4.0)
|
15
|
-
powerpack (0.1.2)
|
16
16
|
rainbow (3.0.0)
|
17
|
-
rake (
|
18
|
-
rubocop (0.
|
17
|
+
rake (13.0.1)
|
18
|
+
rubocop (0.79.0)
|
19
|
+
jaro_winkler (~> 1.5.1)
|
19
20
|
parallel (~> 1.10)
|
20
|
-
parser (>= 2.
|
21
|
-
powerpack (~> 0.1)
|
21
|
+
parser (>= 2.7.0.1)
|
22
22
|
rainbow (>= 2.2.2, < 4.0)
|
23
23
|
ruby-progressbar (~> 1.7)
|
24
|
-
unicode-display_width (
|
25
|
-
ruby-progressbar (1.
|
26
|
-
unicode-display_width (1.
|
24
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
25
|
+
ruby-progressbar (1.10.1)
|
26
|
+
unicode-display_width (1.6.0)
|
27
27
|
|
28
28
|
PLATFORMS
|
29
29
|
ruby
|
30
30
|
|
31
31
|
DEPENDENCIES
|
32
32
|
breezy_pdf_lite!
|
33
|
-
bundler (~>
|
33
|
+
bundler (~> 2.0)
|
34
34
|
minitest (~> 5.0)
|
35
35
|
minitest-stub-const (~> 0.6)
|
36
|
-
rake (~>
|
37
|
-
rubocop (= 0.
|
36
|
+
rake (~> 13.0)
|
37
|
+
rubocop (= 0.79.0)
|
38
38
|
|
39
39
|
BUNDLED WITH
|
40
|
-
|
40
|
+
2.0.2
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# BreezyPDFLite
|
2
2
|
|
3
3
|
[](https://travis-ci.org/danielwestendorf/breezy_pdf_lite-ruby)
|
4
|
+
[](https://badge.fury.io/rb/breezy_pdf_lite)
|
4
5
|
|
5
6
|
A ruby client for [BreezyPDFLite](https://github.com/danielwestendorf/breezy-pdf-lite), a one-click-to-deploy microservice for converting HTML to PDF with Google Chrome. Send the library a chunk of HTML, get a PDF of it back. Configure how the PDF is rendered via [`meta` tags](https://github.com/danielwestendorf/breezy-pdf-lite#2-configure-with-meta-tags-optional) in the HTML.
|
6
7
|
|
data/breezy_pdf_lite.gemspec
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
lib = File.expand_path("lib", __dir__)
|
@@ -21,9 +20,9 @@ Gem::Specification.new do |spec|
|
|
21
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
21
|
spec.require_paths = ["lib"]
|
23
22
|
|
24
|
-
spec.add_development_dependency "bundler", "~>
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
25
24
|
spec.add_development_dependency "minitest", "~> 5.0"
|
26
25
|
spec.add_development_dependency "minitest-stub-const", "~> 0.6"
|
27
|
-
spec.add_development_dependency "rake", "~>
|
28
|
-
spec.add_development_dependency "rubocop", "0.
|
26
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
27
|
+
spec.add_development_dependency "rubocop", "0.79.0"
|
29
28
|
end
|
data/example/config.ru
CHANGED
data/example/pragmatic.rb
CHANGED
@@ -12,20 +12,13 @@ BreezyPDFLite.setup do |config|
|
|
12
12
|
config.middleware_path_matchers = [/as-pdf.pdf/]
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
file.flush
|
25
|
-
file.close
|
26
|
-
end
|
27
|
-
|
28
|
-
puts "Downloaded to #{path}"
|
29
|
-
else
|
30
|
-
puts "Unable to render to PDF, server responded with #{response.code}"
|
15
|
+
render_request = BreezyPDFLite::RenderRequest.new(html)
|
16
|
+
|
17
|
+
begin
|
18
|
+
tempfile = render_request.to_file
|
19
|
+
puts tempfile.path
|
20
|
+
puts "Enter to remove..."
|
21
|
+
gets
|
22
|
+
rescue BreezyPDFLite::BreezyPDFLiteError => e
|
23
|
+
puts "Unable to render PDF: #{e.message}"
|
31
24
|
end
|
data/lib/breezy_pdf_lite.rb
CHANGED
@@ -11,8 +11,22 @@ module BreezyPDFLite
|
|
11
11
|
client.post("/render/html", @body)
|
12
12
|
end
|
13
13
|
|
14
|
+
def to_file
|
15
|
+
raise BreezyPDFLiteError, "#{response.code}: #{response.body}" if response.code != "201"
|
16
|
+
|
17
|
+
@to_file ||= Tempfile.new(%w[response .pdf]).tap do |file|
|
18
|
+
file.write(response.body)
|
19
|
+
file.flush
|
20
|
+
file.rewind
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
14
24
|
private
|
15
25
|
|
26
|
+
def response
|
27
|
+
@response ||= submit
|
28
|
+
end
|
29
|
+
|
16
30
|
def client
|
17
31
|
@client ||= Client.new
|
18
32
|
end
|
data/lib/breezy_pdf_lite/util.rb
CHANGED
@@ -6,6 +6,7 @@ module BreezyPDFLite
|
|
6
6
|
def mattr_reader(*syms)
|
7
7
|
syms.each do |sym|
|
8
8
|
raise NameError, "invalid attribute name: #{sym}" unless /\A[_A-Za-z]\w*\z/.match?(sym)
|
9
|
+
|
9
10
|
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
10
11
|
@@#{sym} = nil unless defined? @@#{sym}
|
11
12
|
def self.#{sym}
|
@@ -25,6 +26,7 @@ module BreezyPDFLite
|
|
25
26
|
def mattr_writer(*syms)
|
26
27
|
syms.each do |sym|
|
27
28
|
raise NameError, "invalid attribute name: #{sym}" unless /\A[_A-Za-z]\w*\z/.match?(sym)
|
29
|
+
|
28
30
|
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
29
31
|
@@#{sym} = nil unless defined? @@#{sym}
|
30
32
|
def self.#{sym}=(obj)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: breezy_pdf_lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Westendorf
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.79.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.79.0
|
83
83
|
description:
|
84
84
|
email:
|
85
85
|
- daniel@prowestech.com
|
@@ -87,6 +87,7 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
+
- ".gitattributes"
|
90
91
|
- ".gitignore"
|
91
92
|
- ".hound.yml"
|
92
93
|
- ".rubocop.yml"
|
@@ -131,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
132
|
- !ruby/object:Gem::Version
|
132
133
|
version: '0'
|
133
134
|
requirements: []
|
134
|
-
|
135
|
-
rubygems_version: 2.6.13
|
135
|
+
rubygems_version: 3.0.3
|
136
136
|
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: Ruby/rack middleware for BreezyPDF Lite. HTML to PDF.
|