breezy_pdf 0.0.11 → 0.0.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bab096cd639ab31ef3b100733473563c2f2d5892
4
- data.tar.gz: e8fc7df02cc0f40311a136eca9416ba5d48076e0
3
+ metadata.gz: add1f9d8633c6f6ba66b8b2cbb4e94e6f01e12ed
4
+ data.tar.gz: 37e1354e85de2a33037a147154130d08c301cd5f
5
5
  SHA512:
6
- metadata.gz: cacf0a2a24d3fad7bc333da4088304a865f8d5cdd45ee3ed51ad6025526cfd44de02e319ececd51cc4370a71f859c8986699e038604efe97298b9d0c97c65c15
7
- data.tar.gz: 1ca284b117fbb9a91ad8802bbbd34aa646f79105e1ede4eb5aec7cf2a1afd9542ceb83ec7294ec2af868bad363e4b174f8126e6bcf01caf883a1c4f0b5dd7dcd
6
+ metadata.gz: 0e7d729d03be2baa8f78ca02e389447fe28ab8d9c596ff1f16a774cde46b1e76ed7efea82b64f1a19acb351df708002d8283a38ef810f14e42a153f26f387bc4
7
+ data.tar.gz: 98a1f90425c3f0eca15df24fc62fba57fb6c34f7a4ca0b86e5ab091c15e1d3ad9ceb0c740466c769220dce10888ddb6eab9f1f39ba40816b11dcc7442abd4f5b
data/README.md CHANGED
@@ -163,7 +163,7 @@ BreezyPDF.setup do |config|
163
163
  #
164
164
  # Only applicable when `config.treat_urls_as_private == true`
165
165
  #
166
- # config.fitler_elements = false
166
+ # config.filter_elements = false
167
167
 
168
168
 
169
169
  # Filter Elements Selectors
@@ -173,7 +173,7 @@ BreezyPDF.setup do |config|
173
173
  #
174
174
  # Only applicable when `config.treat_urls_as_private == true`
175
175
  #
176
- # config.filtered_element_selectors = %w[.breezy-pdf-remove]
176
+ # config.filter_elements_selectors = %w[.breezy-pdf-remove]
177
177
 
178
178
  # Logger
179
179
  #
@@ -250,7 +250,7 @@ def invoice_mailer(user, invoice)
250
250
  html = ActionController::Renderer.render(template "invoices/show", assigns: { invoice: invoice }, locals: { current_user: user })
251
251
  pdf = BreezyPDF::HTML2PDF.new(, html)
252
252
 
253
- attachments["invoice-#{invoice.id}.pdf"] = pdf.to_file
253
+ attachments["invoice-#{invoice.id}.pdf"] = pdf.to_file.read
254
254
  @pdf_url = pdf.to_url
255
255
  end
256
256
  ```
File without changes
@@ -3,6 +3,8 @@
3
3
  module BreezyPDF
4
4
  # :nodoc
5
5
  module Intercept
6
+ UnRenderable = Class.new(BreezyPDFError)
7
+
6
8
  autoload :Base, "breezy_pdf/intercept/base"
7
9
  autoload :PublicUrl, "breezy_pdf/intercept/public_url"
8
10
  autoload :PrivateUrl, "breezy_pdf/intercept/private_url"
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BreezyPDF
4
+ # :nodoc
5
+ module Resources
6
+ autoload :HTML, "breezy_pdf/resources/html"
7
+ autoload :Asset, "breezy_pdf/resources/asset"
8
+ end
9
+ end
File without changes
@@ -47,7 +47,7 @@ module BreezyPDF::HTML
47
47
 
48
48
  def replace_asset_element_attr(asset_element, attr)
49
49
  thread_pool.post do
50
- asset = BreezyPDF::PrivateAssets::Asset.new(@base_url, asset_element[attr])
50
+ asset = BreezyPDF::Resources::Asset.new(@base_url, asset_element[attr])
51
51
 
52
52
  asset_element[attr] = BreezyPDF::Uploads::Base.new(
53
53
  asset.filename, asset.content_type, asset.file_path
@@ -38,7 +38,7 @@ module BreezyPDF
38
38
  end
39
39
 
40
40
  def html_private_asset
41
- @html_private_asset ||= BreezyPDF::PrivateAssets::HTML.new(@asset_host, @html_string)
41
+ @html_private_asset ||= BreezyPDF::Resources::HTML.new(@asset_host, @html_string)
42
42
  end
43
43
 
44
44
  def public_url
@@ -4,18 +4,24 @@ module BreezyPDF::Intercept
4
4
  # :nodoc
5
5
  class PrivateUrl < Base
6
6
  def call
7
+ raise BreezyPDF::Intercept::UnRenderable unless (200..299).cover?(status)
8
+
7
9
  BreezyPDF.logger.info(
8
10
  "[BreezyPDF] Requesting render of #{public_url} with metadata: #{html_private_asset.metadata}"
9
11
  )
10
12
 
11
- response = BreezyPDF::RenderRequest.new(public_url, html_private_asset.metadata).submit
13
+ render_request = BreezyPDF::RenderRequest.new(public_url, html_private_asset.metadata).submit
12
14
 
13
- BreezyPDF.logger.info("[BreezyPDF] Redirect to pdf at #{response.download_url}")
15
+ BreezyPDF.logger.info("[BreezyPDF] Redirect to pdf at #{render_request.download_url}")
14
16
  [
15
17
  302,
16
- { "Location" => response.download_url, "Content-Type" => "text/html", "Content-Length" => "0" },
18
+ { "Location" => render_request.download_url, "Content-Type" => "text/html", "Content-Length" => "0" },
17
19
  []
18
20
  ]
21
+ rescue BreezyPDF::Intercept::UnRenderable
22
+ BreezyPDF.logger.fatal("[BreezyPDF] Unable to render HTML, server responded with HTTP Status #{status}")
23
+
24
+ response
19
25
  end
20
26
 
21
27
  private
@@ -27,7 +33,7 @@ module BreezyPDF::Intercept
27
33
  end
28
34
 
29
35
  def html_private_asset
30
- @html_private_asset ||= BreezyPDF::PrivateAssets::HTML.new(base_url, body)
36
+ @html_private_asset ||= BreezyPDF::Resources::HTML.new(base_url, body)
31
37
  end
32
38
 
33
39
  def status
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module BreezyPDF::PrivateAssets
3
+ module BreezyPDF::Resources
4
4
  # :nodoc
5
5
  class Asset
6
6
  def initialize(base_url, asset_path_or_url)
@@ -25,7 +25,8 @@ module BreezyPDF::PrivateAssets
25
25
  def file
26
26
  @file ||= if io_object.is_a?(StringIO)
27
27
  Tempfile.new.tap do |f|
28
- f.write io_object.to_s
28
+ f.write io_object.tap(&:rewind).read
29
+ f.flush
29
30
  end
30
31
  else
31
32
  io_object
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module BreezyPDF::PrivateAssets
3
+ module BreezyPDF::Resources
4
4
  # :nodoc
5
5
  class HTML
6
6
  def initialize(base_url, html_fragment)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BreezyPDF
4
- VERSION = "0.0.11"
4
+ VERSION = "0.0.12"
5
5
  end
data/lib/breezy_pdf.rb CHANGED
@@ -19,16 +19,17 @@ require "breezy_pdf/gzip"
19
19
  module BreezyPDF
20
20
  extend BreezyPDF::Util
21
21
 
22
+ autoload :Uploads, "breezy_pdf/_uploads"
23
+ autoload :Intercept, "breezy_pdf/_intercept"
24
+ autoload :Resources, "breezy_pdf/_resources"
25
+ autoload :HTML, "breezy_pdf/_html"
26
+
22
27
  autoload :VERSION, "breezy_pdf/version"
23
28
  autoload :RenderRequest, "breezy_pdf/render_request"
24
29
  autoload :Client, "breezy_pdf/client"
25
30
  autoload :Response, "breezy_pdf/response"
26
31
  autoload :Middleware, "breezy_pdf/middleware"
27
32
  autoload :Interceptor, "breezy_pdf/interceptor"
28
- autoload :Uploads, "breezy_pdf/uploads"
29
- autoload :Intercept, "breezy_pdf/intercept"
30
- autoload :PrivateAssets, "breezy_pdf/private_assets"
31
- autoload :HTML, "breezy_pdf/html"
32
33
  autoload :HTML2PDF, "breezy_pdf/html_2_pdf"
33
34
 
34
35
  BreezyPDFError = Class.new(StandardError)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breezy_pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
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-03-28 00:00:00.000000000 Z
11
+ date: 2018-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -142,24 +142,24 @@ files:
142
142
  - bin/setup
143
143
  - breezy_pdf.gemspec
144
144
  - lib/breezy_pdf.rb
145
+ - lib/breezy_pdf/_html.rb
146
+ - lib/breezy_pdf/_intercept.rb
147
+ - lib/breezy_pdf/_resources.rb
148
+ - lib/breezy_pdf/_uploads.rb
145
149
  - lib/breezy_pdf/client.rb
146
150
  - lib/breezy_pdf/gzip.rb
147
- - lib/breezy_pdf/html.rb
148
151
  - lib/breezy_pdf/html/publicize.rb
149
152
  - lib/breezy_pdf/html/strip.rb
150
153
  - lib/breezy_pdf/html_2_pdf.rb
151
- - lib/breezy_pdf/intercept.rb
152
154
  - lib/breezy_pdf/intercept/base.rb
153
155
  - lib/breezy_pdf/intercept/private_url.rb
154
156
  - lib/breezy_pdf/intercept/public_url.rb
155
157
  - lib/breezy_pdf/interceptor.rb
156
158
  - lib/breezy_pdf/middleware.rb
157
- - lib/breezy_pdf/private_assets.rb
158
- - lib/breezy_pdf/private_assets/asset.rb
159
- - lib/breezy_pdf/private_assets/html.rb
160
159
  - lib/breezy_pdf/render_request.rb
160
+ - lib/breezy_pdf/resources/asset.rb
161
+ - lib/breezy_pdf/resources/html.rb
161
162
  - lib/breezy_pdf/response.rb
162
- - lib/breezy_pdf/uploads.rb
163
163
  - lib/breezy_pdf/uploads/base.rb
164
164
  - lib/breezy_pdf/uploads/file_form_data.rb
165
165
  - lib/breezy_pdf/util.rb
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module BreezyPDF
4
- # :nodoc
5
- module PrivateAssets
6
- autoload :HTML, "breezy_pdf/private_assets/html"
7
- autoload :Asset, "breezy_pdf/private_assets/asset"
8
- end
9
- end