breezy_pdf_lite 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4645bb1f1bbd92cf3cf60199b151cbc56bb3b19e
4
- data.tar.gz: 6fdd5da0ff5367451b01a3b7efd66045e63a5b0d
2
+ SHA256:
3
+ metadata.gz: 75d21afa34595a9efd7698b9896e6ffd03775bb18cd3e210df0afa325dbff005
4
+ data.tar.gz: 7a8a785b18aff3f2849950723f972fdd8a6776bcd3616c6570994f2dd53b6d64
5
5
  SHA512:
6
- metadata.gz: 28bbd3ba22f00f49d5dc0cc4037636db49250915bbf15b45f9e339add01eae7765db092cdb5c3c27c6c2f8c96520041cbd5dbd2c875cc75331dbcb0fb41aada0
7
- data.tar.gz: dc8f6dd3f1e6dbc7733fad8d83be440a0d21f7e2dd2c20098fca05dad00985e421646a659e2d9ab9d2ca3375540d72ae47c487051660a8223b8a7aa9f40f9bda
6
+ metadata.gz: f7b89edd59b3e7f53a68db27efe49abf0861ba954522ddc3c5c7985cdac357346128bd71fa091dbe8e191ae19348ac804073e57c433f5eecb49da632e7d09eee
7
+ data.tar.gz: a1a0fe3c1a5b895eb60e80bf6ec2e5ce5cee20fb6e9d99f8e0480cfded62bbb927d9496bf3d9c56e3a23fc62171c95c45a70a9867f26f6b8ce80985f38d2aa1c
@@ -0,0 +1 @@
1
+ *.html linguist-detectable=false
@@ -2,4 +2,4 @@ sudo: false
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.4.2
5
- before_install: gem install bundler -v 1.16.0
5
+ before_install: gem install bundler
@@ -7,34 +7,34 @@ GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.0)
10
- minitest (5.11.3)
10
+ jaro_winkler (1.5.4)
11
+ minitest (5.14.0)
11
12
  minitest-stub-const (0.6)
12
- parallel (1.12.1)
13
- parser (2.5.1.0)
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 (10.5.0)
18
- rubocop (0.54.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.5)
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 (~> 1.0, >= 1.0.1)
25
- ruby-progressbar (1.9.0)
26
- unicode-display_width (1.4.0)
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 (~> 1.16)
33
+ bundler (~> 2.0)
34
34
  minitest (~> 5.0)
35
35
  minitest-stub-const (~> 0.6)
36
- rake (~> 10.0)
37
- rubocop (= 0.54)
36
+ rake (~> 13.0)
37
+ rubocop (= 0.79.0)
38
38
 
39
39
  BUNDLED WITH
40
- 1.16.0
40
+ 2.0.2
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # BreezyPDFLite
2
2
 
3
3
  [![Build Status](https://travis-ci.org/danielwestendorf/breezy_pdf_lite-ruby.svg?branch=master)](https://travis-ci.org/danielwestendorf/breezy_pdf_lite-ruby)
4
+ [![Gem Version](https://badge.fury.io/rb/breezy_pdf_lite.svg)](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
 
@@ -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", "~> 1.16"
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", "~> 10.0"
28
- spec.add_development_dependency "rubocop", "0.54"
26
+ spec.add_development_dependency "rake", "~> 13.0"
27
+ spec.add_development_dependency "rubocop", "0.79.0"
29
28
  end
@@ -12,4 +12,4 @@ BreezyPDFLite.setup do |config|
12
12
  end
13
13
 
14
14
  use BreezyPDFLite::Middleware
15
- run proc { |_env| ["200", { "Content-Type" => "text/html" }, [html]] }
15
+ run(proc { |_env| ["200", { "Content-Type" => "text/html" }, [html]] })
@@ -12,20 +12,13 @@ BreezyPDFLite.setup do |config|
12
12
  config.middleware_path_matchers = [/as-pdf.pdf/]
13
13
  end
14
14
 
15
- response = BreezyPDFLite::RenderRequest.new(html).submit
16
-
17
- if response.code.to_i == 201
18
- path = File.expand_path("example.pdf", __dir__)
19
-
20
- FileUtils.rm(File.expand_path("example.pdf", __dir__)) if File.exist?(path)
21
- File.new(path, "w").tap do |file|
22
- file.write(response.body)
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
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "uri"
4
4
  require "net/http"
5
+ require "tempfile"
5
6
 
6
7
  require "breezy_pdf_lite/version"
7
8
  require "breezy_pdf_lite/util"
@@ -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
@@ -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)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BreezyPDFLite
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
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.1
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: 2018-06-26 00:00:00.000000000 Z
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: '1.16'
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: '1.16'
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: '10.0'
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: '10.0'
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: '0.54'
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: '0.54'
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
- rubyforge_project:
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.