wicked_pdf 1.0.3 → 2.6.3

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.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/.github/issue_template.md +15 -0
  3. data/.github/workflows/ci.yml +56 -0
  4. data/.rubocop.yml +60 -0
  5. data/.rubocop_todo.yml +84 -37
  6. data/CHANGELOG.md +230 -0
  7. data/README.md +188 -30
  8. data/Rakefile +13 -9
  9. data/gemfiles/5.0.gemfile +8 -0
  10. data/gemfiles/5.1.gemfile +8 -0
  11. data/gemfiles/5.2.gemfile +9 -0
  12. data/gemfiles/6.0.gemfile +10 -0
  13. data/gemfiles/6.1.gemfile +12 -0
  14. data/gemfiles/7.0.gemfile +12 -0
  15. data/generators/wicked_pdf/templates/wicked_pdf.rb +9 -0
  16. data/lib/generators/wicked_pdf_generator.rb +5 -9
  17. data/lib/wicked_pdf/binary.rb +65 -0
  18. data/lib/wicked_pdf/middleware.rb +3 -3
  19. data/lib/wicked_pdf/option_parser.rb +229 -0
  20. data/lib/wicked_pdf/pdf_helper.rb +101 -88
  21. data/lib/wicked_pdf/progress.rb +33 -0
  22. data/lib/wicked_pdf/railtie.rb +6 -33
  23. data/lib/wicked_pdf/tempfile.rb +38 -7
  24. data/lib/wicked_pdf/version.rb +1 -1
  25. data/lib/wicked_pdf/wicked_pdf_helper/assets.rb +212 -88
  26. data/lib/wicked_pdf/wicked_pdf_helper.rb +29 -26
  27. data/lib/wicked_pdf.rb +37 -274
  28. data/test/fixtures/database.yml +4 -0
  29. data/test/fixtures/manifest.js +3 -0
  30. data/test/fixtures/wicked.js +1 -0
  31. data/test/functional/pdf_helper_test.rb +74 -5
  32. data/test/functional/wicked_pdf_helper_assets_test.rb +86 -25
  33. data/test/functional/wicked_pdf_helper_test.rb +15 -13
  34. data/test/test_helper.rb +22 -7
  35. data/test/unit/wicked_pdf_binary_test.rb +26 -0
  36. data/test/unit/wicked_pdf_option_parser_test.rb +128 -0
  37. data/test/unit/wicked_pdf_test.rb +14 -168
  38. data/test/unit/wkhtmltopdf_location_test.rb +48 -0
  39. data/wicked_pdf.gemspec +20 -14
  40. metadata +69 -38
  41. data/.travis.yml +0 -57
  42. data/CHANGLOG.md +0 -48
  43. data/gemfiles/2.3.gemfile +0 -10
  44. data/gemfiles/3.0.gemfile +0 -7
  45. data/gemfiles/3.1.gemfile +0 -8
  46. data/gemfiles/3.2.gemfile +0 -7
  47. data/gemfiles/4.0.gemfile +0 -6
  48. data/gemfiles/4.1.gemfile +0 -6
  49. data/gemfiles/4.2.gemfile +0 -6
  50. data/gemfiles/rails_edge.gemfile +0 -6
metadata CHANGED
@@ -1,23 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wicked_pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Z. Sterrett
8
- autorequire:
8
+ - David Jones
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-12-02 00:00:00.000000000 Z
12
+ date: 2022-05-19 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: rails
15
+ name: activesupport
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
20
  version: '0'
20
- type: :development
21
+ type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
@@ -28,18 +29,32 @@ dependencies:
28
29
  name: bundler
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - "~>"
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: mocha
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '='
32
47
  - !ruby/object:Gem::Version
33
48
  version: '1.3'
34
49
  type: :development
35
50
  prerelease: false
36
51
  version_requirements: !ruby/object:Gem::Requirement
37
52
  requirements:
38
- - - "~>"
53
+ - - '='
39
54
  - !ruby/object:Gem::Version
40
55
  version: '1.3'
41
56
  - !ruby/object:Gem::Dependency
42
- name: rake
57
+ name: rails
43
58
  requirement: !ruby/object:Gem::Requirement
44
59
  requirements:
45
60
  - - ">="
@@ -53,7 +68,7 @@ dependencies:
53
68
  - !ruby/object:Gem::Version
54
69
  version: '0'
55
70
  - !ruby/object:Gem::Dependency
56
- name: rubocop
71
+ name: rake
57
72
  requirement: !ruby/object:Gem::Requirement
58
73
  requirements:
59
74
  - - ">="
@@ -67,33 +82,33 @@ dependencies:
67
82
  - !ruby/object:Gem::Version
68
83
  version: '0'
69
84
  - !ruby/object:Gem::Dependency
70
- name: sqlite3
85
+ name: rubocop
71
86
  requirement: !ruby/object:Gem::Requirement
72
87
  requirements:
73
- - - ">="
88
+ - - "~>"
74
89
  - !ruby/object:Gem::Version
75
- version: '0'
90
+ version: '1.24'
76
91
  type: :development
77
92
  prerelease: false
78
93
  version_requirements: !ruby/object:Gem::Requirement
79
94
  requirements:
80
- - - ">="
95
+ - - "~>"
81
96
  - !ruby/object:Gem::Version
82
- version: '0'
97
+ version: '1.24'
83
98
  - !ruby/object:Gem::Dependency
84
- name: mocha
99
+ name: sqlite3
85
100
  requirement: !ruby/object:Gem::Requirement
86
101
  requirements:
87
- - - ">="
102
+ - - "~>"
88
103
  - !ruby/object:Gem::Version
89
- version: '0'
104
+ version: '1.3'
90
105
  type: :development
91
106
  prerelease: false
92
107
  version_requirements: !ruby/object:Gem::Requirement
93
108
  requirements:
94
- - - ">="
109
+ - - "~>"
95
110
  - !ruby/object:Gem::Version
96
- version: '0'
111
+ version: '1.3'
97
112
  - !ruby/object:Gem::Dependency
98
113
  name: test-unit
99
114
  requirement: !ruby/object:Gem::Requirement
@@ -112,53 +127,64 @@ description: |
112
127
  Wicked PDF uses the shell utility wkhtmltopdf to serve a PDF file to a user from HTML.
113
128
  In other words, rather than dealing with a PDF generation DSL of some sort,
114
129
  you simply write an HTML view as you would normally, and let Wicked take care of the hard stuff.
115
- email: miles.sterrett@gmail.com
130
+ email:
131
+ - miles.sterrett@gmail.com
132
+ - unixmonkey1@gmail.com
116
133
  executables: []
117
134
  extensions: []
118
135
  extra_rdoc_files: []
119
136
  files:
137
+ - ".github/issue_template.md"
138
+ - ".github/workflows/ci.yml"
120
139
  - ".gitignore"
121
140
  - ".rubocop.yml"
122
141
  - ".rubocop_todo.yml"
123
- - ".travis.yml"
124
- - CHANGLOG.md
142
+ - CHANGELOG.md
125
143
  - Gemfile
126
144
  - LICENSE.txt
127
145
  - README.md
128
146
  - Rakefile
129
- - gemfiles/2.3.gemfile
130
- - gemfiles/3.0.gemfile
131
- - gemfiles/3.1.gemfile
132
- - gemfiles/3.2.gemfile
133
- - gemfiles/4.0.gemfile
134
- - gemfiles/4.1.gemfile
135
- - gemfiles/4.2.gemfile
136
- - gemfiles/rails_edge.gemfile
147
+ - gemfiles/5.0.gemfile
148
+ - gemfiles/5.1.gemfile
149
+ - gemfiles/5.2.gemfile
150
+ - gemfiles/6.0.gemfile
151
+ - gemfiles/6.1.gemfile
152
+ - gemfiles/7.0.gemfile
137
153
  - generators/wicked_pdf/templates/wicked_pdf.rb
138
154
  - generators/wicked_pdf/wicked_pdf_generator.rb
139
155
  - init.rb
140
156
  - lib/generators/wicked_pdf_generator.rb
141
157
  - lib/wicked_pdf.rb
158
+ - lib/wicked_pdf/binary.rb
142
159
  - lib/wicked_pdf/middleware.rb
160
+ - lib/wicked_pdf/option_parser.rb
143
161
  - lib/wicked_pdf/pdf_helper.rb
162
+ - lib/wicked_pdf/progress.rb
144
163
  - lib/wicked_pdf/railtie.rb
145
164
  - lib/wicked_pdf/tempfile.rb
146
165
  - lib/wicked_pdf/version.rb
147
166
  - lib/wicked_pdf/wicked_pdf_helper.rb
148
167
  - lib/wicked_pdf/wicked_pdf_helper/assets.rb
168
+ - test/fixtures/database.yml
149
169
  - test/fixtures/document_with_long_line.html
170
+ - test/fixtures/manifest.js
150
171
  - test/fixtures/wicked.css
172
+ - test/fixtures/wicked.js
151
173
  - test/functional/pdf_helper_test.rb
152
174
  - test/functional/wicked_pdf_helper_assets_test.rb
153
175
  - test/functional/wicked_pdf_helper_test.rb
154
176
  - test/test_helper.rb
177
+ - test/unit/wicked_pdf_binary_test.rb
178
+ - test/unit/wicked_pdf_option_parser_test.rb
155
179
  - test/unit/wicked_pdf_test.rb
180
+ - test/unit/wkhtmltopdf_location_test.rb
156
181
  - wicked_pdf.gemspec
157
182
  homepage: https://github.com/mileszs/wicked_pdf
158
183
  licenses:
159
184
  - MIT
160
- metadata: {}
161
- post_install_message:
185
+ metadata:
186
+ changelog_uri: https://github.com/mileszs/wicked_pdf/blob/master/CHANGELOG.md
187
+ post_install_message:
162
188
  rdoc_options: []
163
189
  require_paths:
164
190
  - lib
@@ -166,24 +192,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
192
  requirements:
167
193
  - - ">="
168
194
  - !ruby/object:Gem::Version
169
- version: '0'
195
+ version: '2.2'
170
196
  required_rubygems_version: !ruby/object:Gem::Requirement
171
197
  requirements:
172
198
  - - ">="
173
199
  - !ruby/object:Gem::Version
174
200
  version: '0'
175
- requirements: []
176
- rubyforge_project:
177
- rubygems_version: 2.4.5
178
- signing_key:
201
+ requirements:
202
+ - wkhtmltopdf
203
+ rubygems_version: 3.2.3
204
+ signing_key:
179
205
  specification_version: 4
180
206
  summary: PDF generator (from HTML) gem for Ruby on Rails
181
207
  test_files:
208
+ - test/fixtures/database.yml
182
209
  - test/fixtures/document_with_long_line.html
210
+ - test/fixtures/manifest.js
183
211
  - test/fixtures/wicked.css
212
+ - test/fixtures/wicked.js
184
213
  - test/functional/pdf_helper_test.rb
185
214
  - test/functional/wicked_pdf_helper_assets_test.rb
186
215
  - test/functional/wicked_pdf_helper_test.rb
187
216
  - test/test_helper.rb
217
+ - test/unit/wicked_pdf_binary_test.rb
218
+ - test/unit/wicked_pdf_option_parser_test.rb
188
219
  - test/unit/wicked_pdf_test.rb
189
- has_rdoc:
220
+ - test/unit/wkhtmltopdf_location_test.rb
data/.travis.yml DELETED
@@ -1,57 +0,0 @@
1
- language:
2
- - ruby
3
- bundler_args: --verbose
4
- sudo: required
5
- rvm:
6
- - 1.9.2
7
- - 1.9.3
8
- - 2.0
9
- - 2.1
10
- - 2.2
11
- - ruby-head
12
- gemfile:
13
- - gemfiles/3.0.gemfile
14
- - gemfiles/3.1.gemfile
15
- - gemfiles/3.2.gemfile
16
- before_script:
17
- - bundle list
18
- - sudo apt-get install -y wkhtmltopdf
19
- - "export DISPLAY=:99.0"
20
- - "sh -e /etc/init.d/xvfb start"
21
- env: WKHTMLTOPDF_BIN=/usr/bin/wkhtmltopdf
22
- script:
23
- - bundle exec rake dummy_generate
24
- - bundle exec rake test
25
- matrix:
26
- include:
27
- - rvm: 1.8.7
28
- before_install:
29
- - gem update --system 1.8.25
30
- - gem --version
31
- gemfile: gemfiles/2.3.gemfile
32
- - rvm: 1.9.3
33
- gemfile: gemfiles/4.0.gemfile
34
- - rvm: 1.9.3
35
- gemfile: gemfiles/rails_edge.gemfile
36
- - rvm: 2.0.0
37
- gemfile: gemfiles/4.0.gemfile
38
- - rvm: 2.0.0
39
- gemfile: gemfiles/rails_edge.gemfile
40
- - rvm: 2.2.0
41
- gemfile: gemfiles/4.1.gemfile
42
- - rvm: 2.2.0
43
- gemfile: gemfiles/4.2.gemfile
44
- - rvm: 2.2.0
45
- gemfile: gemfiles/rails_edge.gemfile
46
- allow_failures:
47
- - rvm: 1.9.2
48
- gemfile: gemfiles/3.1.gemfile
49
- - rvm: 1.9.2
50
- gemfile: gemfiles/3.2.gemfile
51
- - rvm: 1.9.3
52
- gemfile: gemfiles/rails_edge.gemfile
53
- - rvm: 2.0.0
54
- gemfile: gemfiles/rails_edge.gemfile
55
- - rvm: 2.2.0
56
- gemfile: gemfiles/rails_edge.gemfile
57
- - rvm: ruby-head
data/CHANGLOG.md DELETED
@@ -1,48 +0,0 @@
1
- # Change Log
2
- All notable changes to this project will be documented in this file.
3
- This project adheres to [Semantic Versioning](http://semver.org/).
4
-
5
- ##
6
-
7
- ## [1.0.1] - 2015-11-30
8
- ### Changed
9
- - The default dpi is now 72. Previously the default would be whatever your `wkhtmltopdf` version specified as the default. This change [speeds up generation of documents that contain `border-radius` dramatically](https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1510)
10
-
11
- ## [1.0.0] - 2015-11-03
12
- ### Changed
13
- - Accepted that `WickedPDF` cannot guarantee backwards compatibility with older versions of `wkthmltopdf`, and decided to publish a new version with the MAJOR number incremented, signaling that this may have breaking changes for some people, but providing a path forward for progress. This release number also signals that this is a mature (and relatively stable) project, and should be deemed ready for production (since it has been used in production since ~2009, and downloaded over a *million* times on [RubyGems.org](https://rubygems.org/gems/wicked_pdf)).
14
- - Stopped attempting to track with version number of `wkhtmltopdf` binary releases (`wkhtmltopdf` v9.x == `WickedPDF` v9.x)
15
- - Adopted [Semantic Versioning](http://semver.org/) for release numbering
16
- - Added a CHANGELOG (based on [keepachangelog.com](http://keepachangelog.com/))
17
- - Misc code tweaks as suggested by [RuboCop](https://github.com/bbatsov/rubocop)
18
-
19
- ### Added
20
- - Check version of `wkhtmltopdf` before deciding to pass arguments with or without dashes
21
- - New arguments and options for the table of contents supported in newer versions of wkhtmltopf: `text_size_shrink`, `level_indentation`, `disable_dotted_lines`, `disable_toc_links`, `xsl_style_sheet`
22
- - Merge in global options to `pdf_from_html_file` and `pdf_from_string`
23
- - Add ability to generate pdf from a web resource: `pdf_from_url(url)`
24
-
25
- ### Removed
26
- - Explicit dependency on [Rails](https://github.com/rails/rails), since parts of this library may be used without it.
27
- - Comment out the `:exe_path` option in the generated initalizer by default (since many systems won't have `wkthmltopdf` installed in that specific location)
28
-
29
- ### Fixed
30
- - Issues with `file://` paths on Windows-based systems
31
- - Issues with parsed options/argument ordering on versions of `wkthmltopdf` > 0.9
32
- - Issues with middleware headers when running Rails app mounted in a subdirectory
33
- - Issues with options that have a `key: 'value'` syntax when passed to `wkthmltopdf`
34
- - Issue with `:temp_path` option being deleted from original options hash
35
- - Issue with header/footer `:content` being deleted after the first page
36
- - Issues with options being modified during processing (including global config options)
37
- - Issues with asset helpers recognizing assets specified without a protocol
38
- - Issues with `url()` references and embedded `data:base64` assests in stylesheets rendered with `wicked_pdf_stylesheet_link_tag`
39
- - Asset helpers no longer add a file extension if it already is specified with one
40
-
41
- # Compare Releases
42
- - [1.0.0...Unreleased](https://github.com/mileszs/wicked_pdf/compare/f0b49fa...HEAD)
43
- - [1.0.0...1.0.1](https://github.com/mileszs/wicked_pdf/compare/24303d0...f0b49fa)
44
- - [0.11.0...1.0.0](https://github.com/mileszs/wicked_pdf/compare/968ae69...24303d0)
45
- - [0.10.2...0.11.0](https://github.com/mileszs/wicked_pdf/compare/076f043...968ae69)
46
- - [0.10.1...0.10.2](https://github.com/mileszs/wicked_pdf/compare/a920bc9...076f043)
47
- - [0.10.0...0.10.1](https://github.com/mileszs/wicked_pdf/compare/df67c30...a920bc9)
48
- - [0.9.10...0.10.0](https://github.com/mileszs/wicked_pdf/compare/9daecee...df67c30)
data/gemfiles/2.3.gemfile DELETED
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 2.3.0'
5
- gem 'rake', '~> 0.9.2'
6
- gem 'ruby-prof', '~> 0.11.3'
7
- gem 'test-unit', '= 2.5.2'
8
- gem 'mocha', '~> 0.12.8'
9
- gem 'wicked_pdf', :path => '../'
10
- gemspec :path => '../'
data/gemfiles/3.0.gemfile DELETED
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.0.0'
5
- gem 'sqlite3'
6
- gem 'wicked_pdf', :path => '../'
7
- gemspec :path => '../'
data/gemfiles/3.1.gemfile DELETED
@@ -1,8 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.1.0'
5
- gem 'sqlite3'
6
- gem 'i18n', '~> 0.6.0'
7
- gem 'wicked_pdf', path: '../'
8
- gemspec path: '../'
data/gemfiles/3.2.gemfile DELETED
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.2.0'
5
- gem 'i18n', '~> 0.6.0'
6
- gem 'wicked_pdf', path: '../'
7
- gemspec path: '../'
data/gemfiles/4.0.gemfile DELETED
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 4.0.0'
5
- gem 'wicked_pdf', path: '../'
6
- gemspec path: '../'
data/gemfiles/4.1.gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 4.1.0'
5
- gem 'wicked_pdf', path: '../'
6
- gemspec path: '../'
data/gemfiles/4.2.gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 4.2.0'
5
- gem 'wicked_pdf', path: '../'
6
- gemspec path: '../'
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', git: "https://github.com/rails/rails.git"
5
- gem 'wicked_pdf', path: '../'
6
- gemspec path: '../'