breezy_pdf 0.0.11 → 0.0.12

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
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