prawn-rails 1.2.0 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -7
  3. data/README.md +36 -13
  4. data/lib/prawn-rails.rb +13 -2
  5. data/lib/prawn-rails/document.rb +5 -4
  6. data/lib/prawn-rails/rails_helper.rb +22 -11
  7. data/lib/prawn-rails/renderer.rb +2 -11
  8. data/lib/prawn-rails/version.rb +1 -1
  9. data/test/dummy_app/app/assets/config/manifest.js +3 -0
  10. data/test/dummy_app/app/controllers/reports_controller.rb +21 -2
  11. data/test/dummy_app/app/views/reports/custom.pdf.prawn +3 -0
  12. data/test/dummy_app/app/views/reports/custom_disposition.pdf.prawn +3 -0
  13. data/test/dummy_app/app/views/reports/custom_filename.pdf.prawn +3 -0
  14. data/test/dummy_app/config/application.rb +0 -7
  15. data/test/dummy_app/config/routes.rb +5 -0
  16. data/test/dummy_app/log/test.log +436 -76
  17. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0/Ac/AcCgT9z272BU3f9VmSXyH6aXg0-fBwSzc8apjB9C0T4.cache → v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache} +0 -0
  18. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache +1 -0
  19. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache +1 -0
  20. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache +0 -0
  21. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache +1 -0
  22. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache +0 -0
  23. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache +0 -0
  24. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache +0 -0
  25. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache +1 -0
  26. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache +1 -0
  27. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +2 -0
  28. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache +1 -0
  29. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache +0 -0
  30. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache +0 -0
  31. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache +0 -0
  32. data/test/dummy_app/tmp/cache/assets/sprockets/{v3.0/EG/EGPvvBJ-Qo0bhB9ro0HZH9s4Ln-PNqgz-uYTi5tV_88.cache → v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache} +0 -0
  33. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache +1 -0
  34. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache +1 -0
  35. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache +0 -0
  36. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache +1 -0
  37. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache +0 -0
  38. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +2 -0
  39. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache +0 -0
  40. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache +0 -0
  41. data/test/integration/prawn_rails_test.rb +52 -25
  42. data/test/prawn_rails_test.rb +7 -2
  43. data/test/test_helper.rb +10 -0
  44. metadata +124 -55
  45. data/lib/prawn-rails/engine.rb +0 -14
  46. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/-T/-Ty2Lif1RQ31LfQ3sdBLOYNu3fwjefNQWZXg61o7S0Q.cache +0 -1
  47. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/-m/-mGgwBQ39pkjNoHzuM7XVbFYsHOyv_6SOM_CmI-kLnw.cache +0 -0
  48. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/3j/3jV3hjwp5k_C7riQHMv6rtrQUfKwPXzFkJ32sUJuN_E.cache +0 -0
  49. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/7b/7bJ7ytF6vF1igkdeslMStlJ0FX-qsua3IF_1YPq8oCw.cache +0 -1
  50. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/SJ/SJ3C0iDdYBBG_yOrab-Sw62moViXQPI90mwV-VCda_o.cache +0 -0
  51. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/ie/ieDr67bZ5kFv-ENcBz8Q7TiuRQETGYgdgzYHyXqVcoI.cache +0 -0
  52. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/qW/qWT2nJzx5CDYl-mSJ0WXKcYzB6yu_HDoZLsoO5mWh7g.cache +0 -1
  53. data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/se/seL12R6emubM_qf0qkqUQp8lYPC0Sv3ALlPVz2lH5OM.cache +0 -1
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=3d0cae35195d61547a43ff3fe127365c6e2912ea603bf7640364b583415ad867:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=c8b3b2e93195d7a40d05b5be6edddf445c19bdbbecf5626f4bb5f189ade315bc:ET
@@ -0,0 +1 @@
1
+ "%�ku9FJʚ�$M���=s���:�BwbՈ%��-�
@@ -0,0 +1 @@
1
+ I"}app/assets/config/manifest.js?type=application/javascript&id=79b7a69cc9266df5bc7d09469440873d14dd8892762a7c205084b0dc73faa4b7:ET
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash}I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"0file-digest://app/assets/config/manifest.js;TTI"$file-digest://app/assets/images;TTI")file-digest://app/assets/javascripts;TTI"8file-digest://app/assets/javascripts/application.js;TTI")file-digest://app/assets/stylesheets;TTI"9file-digest://app/assets/stylesheets/application.css;TTF
@@ -0,0 +1 @@
1
+ I"}app/assets/stylesheets/application.css?type=text/css&id=845d5a867a8f56539e31556315aa0ff8d01e0de26e929d5a1b6bd4262d4848fd:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=973b52fbaf61578d9ae93c1d37ab30c9e39735a5101741631802734cec51f5c8:ET
@@ -0,0 +1 @@
1
+ "%��B�����șo�$'�A�d��L���xR�U
@@ -0,0 +1 @@
1
+ I"�app/assets/config/manifest.js?type=application/javascript&pipeline=self&id=a52af8a92f228b8dce2c18c2738f6fbe7116aafbdf9f996f3ebae885ddd2e08e:ET
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash}I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Lprocessors:type=application/javascript&file_type=application/javascript;TTI"0file-digest://app/assets/config/manifest.js;TTI"8file-digest://app/assets/javascripts/application.js;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"0processors:type=text/css&file_type=text/css;TTI"9file-digest://app/assets/stylesheets/application.css;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"$file-digest://app/assets/images;TTI")file-digest://app/assets/javascripts;TTI")file-digest://app/assets/stylesheets;TTF
@@ -6,6 +6,15 @@ require 'pdf/reader'
6
6
  class NavigationTest < ActionDispatch::IntegrationTest
7
7
  fixtures :all
8
8
 
9
+ def confirm_pdf_format(source)
10
+ reader = PDF::Reader.new(StringIO.new(source))
11
+ assert_not_nil(reader)
12
+ assert_equal(1, reader.page_count)
13
+ page_str = reader.pages[0].to_s
14
+ assert page_str.include?('Hello World!')
15
+ assert_not page_str.include?("<h1>Hello World!</h1>")
16
+ end
17
+
9
18
  test "Registers :pdf mime type" do
10
19
  assert Mime::Type.lookup_by_extension(:pdf)
11
20
  end
@@ -17,35 +26,20 @@ class NavigationTest < ActionDispatch::IntegrationTest
17
26
  test "Renders html action" do
18
27
  get '/reports/sample'
19
28
  assert_response :success
20
- #assert @response.body.include?("<h1>Hello World!</h1>")
21
29
  assert_match("<h1>Hello World!</h1>", @response.body)
22
30
  end
23
31
 
24
32
  test "Renders pdf to string" do
25
33
  pdf_str = ApplicationController.new.render_to_string("reports/sample.pdf", locals: {:@items => []})
26
34
 
27
- reader = PDF::Reader.new(StringIO.new(pdf_str))
28
- assert_not_nil(reader)
29
-
30
- page_str = reader.pages[0].to_s
31
- assert page_str.include?('Hello World!')
32
- assert_not page_str.include?("<h1>Hello World!</h1>")
35
+ confirm_pdf_format(pdf_str)
33
36
  end
34
37
 
35
38
  test "Renders sample pdf action" do
36
39
  get '/reports/sample', params: {format: :pdf}
37
40
  assert_response :success
38
- assert_not @response.body.include?("<h1>Hello World!</h1>")
39
-
40
- reader = PDF::Reader.new(StringIO.new(@response.body))
41
- assert_not_nil(reader)
42
-
43
- assert_equal(1, reader.page_count)
44
41
 
45
- page_str = reader.pages[0].to_s
46
-
47
- assert page_str.include?('Hello World!')
48
- assert_not page_str.include?("<h1>Hello World!</h1>")
42
+ confirm_pdf_format(@response.body)
49
43
  end
50
44
 
51
45
  test "Renders table pdf action using auto-required plugin Prawn-Table" do
@@ -62,17 +56,50 @@ class NavigationTest < ActionDispatch::IntegrationTest
62
56
  assert_equal(page_str, "1 2 3\n\n4 5 6\n\n7 8 9")
63
57
  end
64
58
 
59
+ test "Sets file name from '@filename' when present" do
60
+ get '/reports/ivar_filename.pdf'
61
+
62
+ disposition_header = @response.headers["Content-Disposition"]
63
+ assert disposition_header.include?("attachment")
64
+ assert disposition_header.include?("ivar-filename.pdf")
65
+ end
66
+
67
+ test "Maintains existing 'Content-Disposition' header" do
68
+ get '/reports/custom_headers.pdf'
69
+
70
+ disposition_header = @response.headers["Content-Disposition"]
71
+ assert disposition_header.include?("attachment")
72
+ assert disposition_header.include?("custom-headers.pdf")
73
+ end
74
+
75
+ test "Respects the 'filename' option alone" do
76
+ get '/reports/custom_filename.pdf'
77
+
78
+ disposition_header = @response.headers["Content-Disposition"]
79
+ assert disposition_header.include?("inline")
80
+ assert disposition_header.include?("from-options.pdf")
81
+ end
82
+
83
+ test "Respects the 'disposition' option alone" do
84
+ get '/reports/custom_disposition.pdf'
85
+
86
+ disposition_header = @response.headers["Content-Disposition"]
87
+ assert disposition_header.include?("attachment")
88
+ assert_not disposition_header.include?("filename")
89
+ end
90
+
91
+ test "Respects both options on 'prawn-document' together" do
92
+ get '/reports/custom.pdf'
93
+
94
+ disposition_header = @response.headers["Content-Disposition"]
95
+ assert disposition_header.include?("attachment")
96
+ assert disposition_header.include?("from-options.pdf")
97
+ end
98
+
65
99
  test "render_to_string in mailer" do
66
100
  mail = ReportsMailer.send_report
67
101
  assert_equal(1, mail.attachments.size)
68
102
 
69
- reader = PDF::Reader.new(StringIO.new(mail.attachments["report.pdf"].body.raw_source))
70
- assert_not_nil(reader)
71
- assert_equal(1, reader.page_count)
72
-
73
- page_str = reader.pages[0].to_s
74
-
75
- assert page_str.include?('Hello World!')
76
- assert_not page_str.include?("<h1>Hello World!</h1>")
103
+ confirm_pdf_format(mail.attachments["report.pdf"].body.raw_source)
77
104
  end
78
105
  end
@@ -7,8 +7,6 @@ class PrawnRailsTest < ActiveSupport::TestCase
7
7
  include PrawnRails::RailsHelper
8
8
 
9
9
  test "text can take non strings" do
10
- @filename = ""
11
-
12
10
  output = prawn_document do |pdf|
13
11
  pdf.text "Number:"
14
12
  pdf.text 10
@@ -20,4 +18,11 @@ class PrawnRailsTest < ActiveSupport::TestCase
20
18
  page = reader.page(1).to_s
21
19
  assert page.include?("Number:\n10")
22
20
  end
21
+
22
+ test "matches .PDF extension regardless of case" do
23
+ ["pDf", "pdf", "PDF"].each do |ext|
24
+ @filename = "test.#{ext}"
25
+ assert_equal get_metadata[:info][:Title], "test"
26
+ end
27
+ end
23
28
  end
data/test/test_helper.rb CHANGED
@@ -1,5 +1,15 @@
1
1
  ENV["RAILS_ENV"] = "test"
2
2
 
3
+ begin
4
+ require 'warning'
5
+
6
+ Warning.ignore(
7
+ %r{mail/parsers/address_lists_parser}, ### Hide mail gem warnings
8
+ )
9
+ rescue LoadError
10
+ # Do nothing
11
+ end
12
+
3
13
  require File.expand_path("../dummy_app/config/environment.rb", __FILE__)
4
14
  require "rails/test_help"
5
15
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawn-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Ortiz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-28 00:00:00.000000000 Z
12
+ date: 2021-05-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: prawn
@@ -40,7 +40,7 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: rails
43
+ name: actionview
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
@@ -109,6 +109,20 @@ dependencies:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
112
126
  - !ruby/object:Gem::Dependency
113
127
  name: sqlite3
114
128
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +137,34 @@ dependencies:
123
137
  - - ">="
124
138
  - !ruby/object:Gem::Version
125
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: appraisal
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: warning
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
126
168
  description: Prawn Handler for Rails. Handles and registers pdf formats.
127
169
  email: weston@westonganger.com
128
170
  executables: []
@@ -136,17 +178,20 @@ files:
136
178
  - lib/prawn-rails.rb
137
179
  - lib/prawn-rails/config.rb
138
180
  - lib/prawn-rails/document.rb
139
- - lib/prawn-rails/engine.rb
140
181
  - lib/prawn-rails/rails_helper.rb
141
182
  - lib/prawn-rails/renderer.rb
142
183
  - lib/prawn-rails/version.rb
143
184
  - test/dummy_app/Rakefile
185
+ - test/dummy_app/app/assets/config/manifest.js
144
186
  - test/dummy_app/app/assets/javascripts/application.js
145
187
  - test/dummy_app/app/assets/stylesheets/application.css
146
188
  - test/dummy_app/app/controllers/application_controller.rb
147
189
  - test/dummy_app/app/controllers/reports_controller.rb
148
190
  - test/dummy_app/app/mailers/reports_mailer.rb
149
191
  - test/dummy_app/app/views/layouts/application.html.erb
192
+ - test/dummy_app/app/views/reports/custom.pdf.prawn
193
+ - test/dummy_app/app/views/reports/custom_disposition.pdf.prawn
194
+ - test/dummy_app/app/views/reports/custom_filename.pdf.prawn
150
195
  - test/dummy_app/app/views/reports/sample.html.erb
151
196
  - test/dummy_app/app/views/reports/sample.pdf.prawn
152
197
  - test/dummy_app/app/views/reports/table.pdf.prawn
@@ -172,25 +217,36 @@ files:
172
217
  - test/dummy_app/db/schema.rb
173
218
  - test/dummy_app/db/test.sqlite3
174
219
  - test/dummy_app/log/test.log
175
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/-T/-Ty2Lif1RQ31LfQ3sdBLOYNu3fwjefNQWZXg61o7S0Q.cache
176
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/-m/-mGgwBQ39pkjNoHzuM7XVbFYsHOyv_6SOM_CmI-kLnw.cache
177
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
178
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/3j/3jV3hjwp5k_C7riQHMv6rtrQUfKwPXzFkJ32sUJuN_E.cache
179
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
180
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/7b/7bJ7ytF6vF1igkdeslMStlJ0FX-qsua3IF_1YPq8oCw.cache
181
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/Ac/AcCgT9z272BU3f9VmSXyH6aXg0-fBwSzc8apjB9C0T4.cache
182
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/EG/EGPvvBJ-Qo0bhB9ro0HZH9s4Ln-PNqgz-uYTi5tV_88.cache
183
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
184
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
185
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/SJ/SJ3C0iDdYBBG_yOrab-Sw62moViXQPI90mwV-VCda_o.cache
186
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/ie/ieDr67bZ5kFv-ENcBz8Q7TiuRQETGYgdgzYHyXqVcoI.cache
187
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/qW/qWT2nJzx5CDYl-mSJ0WXKcYzB6yu_HDoZLsoO5mWh7g.cache
188
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/se/seL12R6emubM_qf0qkqUQp8lYPC0Sv3ALlPVz2lH5OM.cache
220
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache
221
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache
222
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache
223
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
224
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache
225
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
226
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache
227
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache
228
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache
229
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache
230
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
231
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache
232
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
233
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache
234
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
235
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache
236
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache
237
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache
238
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache
239
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache
240
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache
241
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
242
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache
243
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache
189
244
  - test/integration/prawn_rails_test.rb
190
245
  - test/prawn_rails_test.rb
191
246
  - test/test_helper.rb
192
247
  homepage: https://github.com/cortiz/prawn-rails
193
- licenses: []
248
+ licenses:
249
+ - MIT
194
250
  metadata: {}
195
251
  post_install_message:
196
252
  rdoc_options: []
@@ -207,58 +263,71 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
263
  - !ruby/object:Gem::Version
208
264
  version: '0'
209
265
  requirements: []
210
- rubyforge_project:
211
- rubygems_version: 2.7.6
266
+ rubygems_version: 3.1.4
212
267
  signing_key:
213
268
  specification_version: 4
214
269
  summary: Prawn Handler for Rails
215
270
  test_files:
216
- - test/dummy_app/app/assets/javascripts/application.js
217
- - test/dummy_app/app/assets/stylesheets/application.css
271
+ - test/integration/prawn_rails_test.rb
272
+ - test/prawn_rails_test.rb
273
+ - test/test_helper.rb
274
+ - test/dummy_app/app/mailers/reports_mailer.rb
218
275
  - test/dummy_app/app/controllers/application_controller.rb
219
276
  - test/dummy_app/app/controllers/reports_controller.rb
220
- - test/dummy_app/app/mailers/reports_mailer.rb
277
+ - test/dummy_app/app/views/reports_mailer/send_report.html.erb
221
278
  - test/dummy_app/app/views/layouts/application.html.erb
222
- - test/dummy_app/app/views/reports/sample.html.erb
279
+ - test/dummy_app/app/views/reports/custom_filename.pdf.prawn
280
+ - test/dummy_app/app/views/reports/custom_disposition.pdf.prawn
281
+ - test/dummy_app/app/views/reports/custom.pdf.prawn
223
282
  - test/dummy_app/app/views/reports/sample.pdf.prawn
224
283
  - test/dummy_app/app/views/reports/table.pdf.prawn
225
- - test/dummy_app/app/views/reports_mailer/send_report.html.erb
226
- - test/dummy_app/config/application.rb
227
- - test/dummy_app/config/boot.rb
228
- - test/dummy_app/config/database.yml
229
- - test/dummy_app/config/environment.rb
230
- - test/dummy_app/config/environments/development.rb
284
+ - test/dummy_app/app/views/reports/sample.html.erb
285
+ - test/dummy_app/app/assets/config/manifest.js
286
+ - test/dummy_app/app/assets/javascripts/application.js
287
+ - test/dummy_app/app/assets/stylesheets/application.css
288
+ - test/dummy_app/config/secrets.yml
289
+ - test/dummy_app/config/routes.rb
290
+ - test/dummy_app/config/locales/en.yml
231
291
  - test/dummy_app/config/environments/production.rb
292
+ - test/dummy_app/config/environments/development.rb
232
293
  - test/dummy_app/config/environments/test.rb
294
+ - test/dummy_app/config/environment.rb
295
+ - test/dummy_app/config/application.rb
296
+ - test/dummy_app/config/database.yml
297
+ - test/dummy_app/config/boot.rb
233
298
  - test/dummy_app/config/initializers/backtrace_silencers.rb
234
- - test/dummy_app/config/initializers/inflections.rb
235
299
  - test/dummy_app/config/initializers/mime_types.rb
236
- - test/dummy_app/config/initializers/prawn-rails.rb
237
- - test/dummy_app/config/initializers/secret_token.rb
238
300
  - test/dummy_app/config/initializers/session_store.rb
239
301
  - test/dummy_app/config/initializers/wrap_parameters.rb
240
- - test/dummy_app/config/locales/en.yml
241
- - test/dummy_app/config/routes.rb
242
- - test/dummy_app/config/secrets.yml
302
+ - test/dummy_app/config/initializers/prawn-rails.rb
303
+ - test/dummy_app/config/initializers/secret_token.rb
304
+ - test/dummy_app/config/initializers/inflections.rb
243
305
  - test/dummy_app/config.ru
306
+ - test/dummy_app/Rakefile
244
307
  - test/dummy_app/db/schema.rb
245
308
  - test/dummy_app/db/test.sqlite3
246
309
  - test/dummy_app/log/test.log
247
- - test/dummy_app/Rakefile
248
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/-m/-mGgwBQ39pkjNoHzuM7XVbFYsHOyv_6SOM_CmI-kLnw.cache
249
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/-T/-Ty2Lif1RQ31LfQ3sdBLOYNu3fwjefNQWZXg61o7S0Q.cache
250
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/3j/3jV3hjwp5k_C7riQHMv6rtrQUfKwPXzFkJ32sUJuN_E.cache
251
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
252
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
253
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/7b/7bJ7ytF6vF1igkdeslMStlJ0FX-qsua3IF_1YPq8oCw.cache
254
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/Ac/AcCgT9z272BU3f9VmSXyH6aXg0-fBwSzc8apjB9C0T4.cache
255
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/EG/EGPvvBJ-Qo0bhB9ro0HZH9s4Ln-PNqgz-uYTi5tV_88.cache
256
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/ie/ieDr67bZ5kFv-ENcBz8Q7TiuRQETGYgdgzYHyXqVcoI.cache
257
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
258
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
259
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/qW/qWT2nJzx5CDYl-mSJ0WXKcYzB6yu_HDoZLsoO5mWh7g.cache
260
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/se/seL12R6emubM_qf0qkqUQp8lYPC0Sv3ALlPVz2lH5OM.cache
261
- - test/dummy_app/tmp/cache/assets/sprockets/v3.0/SJ/SJ3C0iDdYBBG_yOrab-Sw62moViXQPI90mwV-VCda_o.cache
262
- - test/integration/prawn_rails_test.rb
263
- - test/prawn_rails_test.rb
264
- - test/test_helper.rb
310
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache
311
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
312
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache
313
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache
314
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
315
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache
316
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache
317
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache
318
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache
319
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache
320
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
321
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache
322
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache
323
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache
324
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache
325
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
326
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache
327
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache
328
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
329
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache
330
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache
331
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache
332
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
333
+ - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache