wicked_pdf 1.0.3 → 2.6.3

Sign up to get free protection for your applications and to get access to all the features.
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: '../'