wicked_pdf 1.3.0 → 2.1.0

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
  SHA256:
3
- metadata.gz: db4dbc2079a0b29bddf81631c25ff650634c9d0c8eba113e3e221be3ab07a475
4
- data.tar.gz: c585d8856402144601bbdfe0da056702ba2d501b9239a6339836c9389630263e
3
+ metadata.gz: 2a1ed5bc6831790ca7a345a234788f25c80fa9cf9ce29cd6059c4f3e2b95899b
4
+ data.tar.gz: 8403943792fa00a8d6103227d9c64d1235d7bc15fd1c1dc0b1c5b781595d1129
5
5
  SHA512:
6
- metadata.gz: 6a23f141de26136b65e399a1a2a7281fddc9790ebaeecefdee406372a7859c3e87ba247775ef298a355b48e0cdf9ae4387ef0a8d453764fd0ffe65e2665fa79b
7
- data.tar.gz: b16b6ff02dc084f55640c91552300d22afe5b73550feb42ecc036e65c896033fb95969ca4f3c276613aa360fb6dedc5129d0802558492277f7666ba8cd540b74
6
+ metadata.gz: 91ff0d2567e0aff820cc482da2c76df3823fdb3be007229236907c0d4f8e2caf50a14e18f49a52f18d748f23f1c71f9010002417726c319a9064158cddd66ccd
7
+ data.tar.gz: 259d606917744373d121f6c4c1a84fa80411b326f92f45c049ad5cd4950adb4121befd0b7f765400594fed8b292670b0f32b8916632b1dc5727524877e046e0c
@@ -1,14 +1,20 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 1.9
4
+ TargetRubyVersion: 2.2
5
5
  Exclude:
6
+ - 'gemfiles/bin/*'
6
7
  - 'test/dummy/**/*'
7
8
 
8
9
  Metrics/BlockLength:
9
10
  Exclude:
10
11
  - 'wicked_pdf.gemspec'
11
12
 
13
+ Metrics/ModuleLength:
14
+ Exclude:
15
+ # Excluding to keep the logic in one module for the time being.
16
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
17
+
12
18
  # I'd like wicked_pdf to keep Ruby 1.8 compatibility for now
13
19
  Style/HashSyntax:
14
20
  EnforcedStyle: hash_rockets
@@ -1,63 +1,193 @@
1
- # This configuration was generated by `rubocop --auto-gen-config`
2
- # on 2015-11-08 18:41:57 -0500 using RuboCop version 0.32.1.
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-10-02 17:54:14 +0200 using RuboCop version 0.68.1.
3
4
  # The point is for the user to remove these configuration records
4
5
  # one by one as the offenses are removed from the code base.
5
6
  # Note that changes in the inspected code, or installation of new
6
7
  # versions of RuboCop, may require this file to be generated again.
7
8
 
8
-
9
9
  # Offense count: 9
10
- Metrics/AbcSize:
11
- Max: 45
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
12
+ # Include: **/*.gemfile, **/Gemfile, **/gems.rb
13
+ Bundler/OrderedGems:
14
+ Exclude:
15
+ - 'gemfiles/4.0.gemfile'
16
+ - 'gemfiles/4.1.gemfile'
17
+ - 'gemfiles/4.2.gemfile'
18
+ - 'gemfiles/5.0.gemfile'
19
+ - 'gemfiles/5.1.gemfile'
20
+ - 'gemfiles/5.2.gemfile'
21
+ - 'gemfiles/6.0.gemfile'
22
+ - 'gemfiles/rails_edge.gemfile'
12
23
 
13
24
  # Offense count: 2
14
- Metrics/BlockNesting:
15
- Max: 4
25
+ # Cop supports --auto-correct.
26
+ # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
27
+ # Include: **/*.gemspec
28
+ Gemspec/OrderedDependencies:
29
+ Exclude:
30
+ - 'wicked_pdf.gemspec'
31
+
32
+ # Offense count: 16
33
+ # Cop supports --auto-correct.
34
+ Layout/EmptyLineAfterGuardClause:
35
+ Exclude:
36
+ - 'Rakefile'
37
+ - 'lib/wicked_pdf.rb'
38
+ - 'lib/wicked_pdf/pdf_helper.rb'
39
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
40
+
41
+ # Offense count: 2
42
+ # Cop supports --auto-correct.
43
+ Layout/LeadingBlankLines:
44
+ Exclude:
45
+ - 'test/unit/wkhtmltopdf_location_test.rb'
46
+ - 'wicked_pdf.gemspec'
47
+
48
+ # Offense count: 1
49
+ # Cop supports --auto-correct.
50
+ Layout/RescueEnsureAlignment:
51
+ Exclude:
52
+ - 'lib/wicked_pdf.rb'
53
+
54
+ # Offense count: 1
55
+ # Cop supports --auto-correct.
56
+ # Configuration parameters: EnforcedStyle.
57
+ # SupportedStyles: final_newline, final_blank_line
58
+ Layout/TrailingBlankLines:
59
+ Exclude:
60
+ - 'gemfiles/4.0.gemfile'
61
+
62
+ # Offense count: 11
63
+ Metrics/AbcSize:
64
+ Max: 45
16
65
 
17
66
  # Offense count: 2
18
67
  # Configuration parameters: CountComments.
19
68
  Metrics/ClassLength:
20
- Max: 300
69
+ Max: 292
21
70
 
22
- Metrics/ModuleLength:
23
- Max: 160
24
-
25
- # Offense count: 5
71
+ # Offense count: 7
26
72
  Metrics/CyclomaticComplexity:
27
73
  Max: 11
28
74
 
29
- # Offense count: 92
30
- # Configuration parameters: AllowURI, URISchemes.
31
- Metrics/LineLength:
32
- Max: 563
33
-
34
- # Offense count: 14
35
- # Configuration parameters: CountComments.
75
+ # Offense count: 17
76
+ # Configuration parameters: CountComments, ExcludedMethods.
36
77
  Metrics/MethodLength:
37
78
  Max: 30
38
79
 
39
- # Offense count: 4
80
+ # Offense count: 2
81
+ # Configuration parameters: CountComments.
82
+ Metrics/ModuleLength:
83
+ Max: 147
84
+
85
+ # Offense count: 6
40
86
  Metrics/PerceivedComplexity:
41
87
  Max: 12
42
88
 
43
89
  # Offense count: 2
44
90
  Naming/AccessorMethodName:
45
- Enabled: false
91
+ Exclude:
92
+ - 'lib/wicked_pdf/middleware.rb'
93
+ - 'lib/wicked_pdf/pdf_helper.rb'
94
+
95
+ # Offense count: 1
96
+ Security/Open:
97
+ Exclude:
98
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
46
99
 
47
100
  # Offense count: 1
48
101
  Style/CaseEquality:
49
- Enabled: false
102
+ Exclude:
103
+ - 'lib/wicked_pdf/wicked_pdf_helper.rb'
50
104
 
51
105
  # Offense count: 1
52
106
  Style/ClassVars:
53
- Enabled: false
107
+ Exclude:
108
+ - 'lib/wicked_pdf.rb'
54
109
 
55
- # Offense count: 15
110
+ # Offense count: 10
56
111
  Style/Documentation:
57
- Enabled: false
112
+ Exclude:
113
+ - 'spec/**/*'
114
+ - 'test/**/*'
115
+ - 'generators/wicked_pdf/wicked_pdf_generator.rb'
116
+ - 'lib/wicked_pdf.rb'
117
+ - 'lib/wicked_pdf/middleware.rb'
118
+ - 'lib/wicked_pdf/pdf_helper.rb'
119
+ - 'lib/wicked_pdf/progress.rb'
120
+ - 'lib/wicked_pdf/railtie.rb'
121
+ - 'lib/wicked_pdf/tempfile.rb'
122
+ - 'lib/wicked_pdf/wicked_pdf_helper.rb'
123
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
58
124
 
59
- # Offense count: 5
125
+ # Offense count: 2
60
126
  # Cop supports --auto-correct.
61
- # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
127
+ Style/ExpandPathArguments:
128
+ Exclude:
129
+ - 'test/test_helper.rb'
130
+ - 'wicked_pdf.gemspec'
131
+
132
+ # Offense count: 8
133
+ # Cop supports --auto-correct.
134
+ # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
135
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
136
+ Style/HashSyntax:
137
+ Exclude:
138
+ - 'gemfiles/4.0.gemfile'
139
+ - 'gemfiles/4.1.gemfile'
140
+ - 'gemfiles/4.2.gemfile'
141
+ - 'gemfiles/5.0.gemfile'
142
+ - 'gemfiles/5.1.gemfile'
143
+ - 'gemfiles/5.2.gemfile'
144
+ - 'gemfiles/6.0.gemfile'
145
+ - 'gemfiles/rails_edge.gemfile'
146
+
147
+ # Offense count: 3
148
+ # Cop supports --auto-correct.
149
+ Style/IfUnlessModifier:
150
+ Exclude:
151
+ - 'Rakefile'
152
+ - 'lib/wicked_pdf.rb'
153
+ - 'lib/wicked_pdf/railtie.rb'
154
+
155
+ # Offense count: 2
156
+ # Cop supports --auto-correct.
157
+ # Configuration parameters: EnforcedStyle.
158
+ # SupportedStyles: literals, strict
159
+ Style/MutableConstant:
160
+ Exclude:
161
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
162
+
163
+ # Offense count: 6
164
+ # Cop supports --auto-correct.
165
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
166
+ # SupportedStyles: slashes, percent_r, mixed
62
167
  Style/RegexpLiteral:
63
- Enabled: false
168
+ Exclude:
169
+ - 'lib/wicked_pdf/middleware.rb'
170
+ - 'lib/wicked_pdf/wicked_pdf_helper/assets.rb'
171
+ - 'test/unit/wicked_pdf_test.rb'
172
+
173
+ # Offense count: 1
174
+ # Cop supports --auto-correct.
175
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
176
+ # SupportedStyles: single_quotes, double_quotes
177
+ Style/StringLiterals:
178
+ Exclude:
179
+ - 'gemfiles/4.0.gemfile'
180
+
181
+ # Offense count: 29
182
+ # Cop supports --auto-correct.
183
+ # Configuration parameters: MinSize.
184
+ # SupportedStyles: percent, brackets
185
+ Style/SymbolArray:
186
+ EnforcedStyle: brackets
187
+
188
+ # Offense count: 111
189
+ # Cop supports --auto-correct.
190
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
191
+ # URISchemes: http, https
192
+ Metrics/LineLength:
193
+ Max: 563
@@ -7,31 +7,19 @@ before_install:
7
7
  - sudo apt-get update -qq
8
8
  bundler_args: --verbose
9
9
  sudo: required
10
+ services:
11
+ - xvfb
10
12
  before_script:
11
13
  - bundle list
12
14
  - sudo apt-get install -y wkhtmltopdf
13
- - "export DISPLAY=:99.0"
14
- - "sh -e /etc/init.d/xvfb start"
15
15
  env: WKHTMLTOPDF_BIN=/usr/bin/wkhtmltopdf
16
16
  script:
17
17
  - bundle exec rake
18
18
  matrix:
19
19
  include:
20
- - rvm: 1.8.7
21
- before_install:
22
- - sudo apt-get update -qq
23
- - gem update --system 1.8.25
24
- - gem --version
25
- gemfile: gemfiles/2.3.gemfile
26
- - rvm: 1.9.2
27
- gemfile: gemfiles/3.0.gemfile
28
- - rvm: 1.9.3
29
- gemfile: gemfiles/3.1.gemfile
30
- - rvm: 2.0
31
- gemfile: gemfiles/3.2.gemfile
32
- - rvm: 2.0
20
+ - rvm: 2.2
33
21
  gemfile: gemfiles/4.0.gemfile
34
- - rvm: 2.1
22
+ - rvm: 2.2
35
23
  gemfile: gemfiles/4.1.gemfile
36
24
  - rvm: 2.2
37
25
  gemfile: gemfiles/4.2.gemfile
@@ -50,13 +38,24 @@ matrix:
50
38
  - gem install bundler -v '< 2'
51
39
  - rvm: 2.5
52
40
  gemfile: gemfiles/5.2.gemfile
41
+ before_install:
42
+ - gem update --system
43
+ - gem install bundler
53
44
  - rvm: 2.5
54
45
  gemfile: gemfiles/rails_edge.gemfile
46
+ before_install:
47
+ - gem update --system
48
+ - gem install bundler
55
49
  - rvm: 2.6
56
50
  gemfile: gemfiles/5.2.gemfile
57
51
  before_install:
58
52
  - gem update --system
59
53
  - gem install bundler
54
+ - rvm: 2.6
55
+ gemfile: gemfiles/6.0.gemfile
56
+ before_install:
57
+ - gem update --system
58
+ - gem install bundler
60
59
  - rvm: 2.6
61
60
  gemfile: gemfiles/rails_edge.gemfile
62
61
  before_install:
@@ -10,6 +10,40 @@ This project adheres to [Semantic Versioning](http://semver.org/).
10
10
  ### Fixes
11
11
  - None
12
12
 
13
+ ## [2.1.0] - 2020-06-14
14
+ ### Fixes
15
+ - [Document no_stop_slow_scripts in README](https://github.com/mileszs/wicked_pdf/pull/905)
16
+ - [Document how to use locals in README](https://github.com/mileszs/wicked_pdf/pull/915)
17
+
18
+ ### New Features
19
+ - [Improved support for Webpacker assets with `wicked_pdf_asset_pack_path`](https://github.com/mileszs/wicked_pdf/pull/896)
20
+ - [Support enabling/disabling local file access compatible with wkhtmltopdf 0.12.6](https://github.com/mileszs/wicked_pdf/pull/920)
21
+ - [Add option `use_xvfb` to emulate an X server](https://github.com/mileszs/wicked_pdf/pull/909)
22
+
23
+ ## [2.0.2] - 2020-03-17
24
+ ### Fixes
25
+ - [Force UTF-8 encoding in assets helper](https://github.com/mileszs/wicked_pdf/pull/894)
26
+
27
+ ## [2.0.1] - 2020-02-22
28
+ ### Fixes
29
+ - [Replace open-uri with more secure Net:HTTP.get](https://github.com/mileszs/wicked_pdf/pull/864)
30
+
31
+ ## [2.0.0] - 2020-02-22
32
+ ### Breaking changes
33
+ - [Remove support for older Ruby and Rails versions](https://github.com/mileszs/wicked_pdf/pull/854) - This project no longer supports Ruby < 2.2 and Rails < 4. It may work for you, but we are no longer worrying about breaking backwards compatibility for versions older than these. If you are on an affected version, you can continue to use the 1.x releases. Patches to fix broken behavior on old versions may not be accepted unless they are highly decoupled from the rest of the code base.
34
+
35
+ ### New Features
36
+ - [Add Rubygems metadata hash to gemspec](https://github.com/mileszs/wicked_pdf/pull/856)
37
+ - [Add support for Rails 6](https://github.com/mileszs/wicked_pdf/pull/869)
38
+
39
+ ### Fixes
40
+ - [Fix Webpacker helpers in production environment](https://github.com/mileszs/wicked_pdf/pull/837)
41
+ - [Fix unit tests](https://github.com/mileszs/wicked_pdf/pull/852)
42
+
43
+ ## [1.4.0] - 2019-05-23
44
+ ### New Features
45
+ - [Add support for `log_level` and `quiet` options](https://github.com/mileszs/wicked_pdf/pull/834)
46
+
13
47
  ## [1.3.0] - 2019-05-20
14
48
  ### New Features
15
49
  - [Add support for Webpacker provided bundles](https://github.com/mileszs/wicked_pdf/pull/739)
@@ -70,7 +104,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
70
104
 
71
105
  ## [1.0.6] - 2016-04-04
72
106
  ### Fixes
73
- - Revert shellescaping of options. The fix was causing more issues than it solved (like "[page] of [topage]" being escaped, and thus not parsed by `wkhtmltopdf`). See #514 for details.
107
+ - Revert shell escaping of options. The fix was causing more issues than it solved (like "[page] of [topage]" being escaped, and thus not parsed by `wkhtmltopdf`). See #514 for details.
74
108
 
75
109
  ## [1.0.5] - 2016-03-28
76
110
  ### Fixes
@@ -106,13 +140,13 @@ This project adheres to [Semantic Versioning](http://semver.org/).
106
140
 
107
141
  ### New Features
108
142
  - Check version of `wkhtmltopdf` before deciding to pass arguments with or without dashes
109
- - 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`
143
+ - New arguments and options for the table of contents supported in newer versions of wkhtmltopdf: `text_size_shrink`, `level_indentation`, `disable_dotted_lines`, `disable_toc_links`, `xsl_style_sheet`
110
144
  - Merge in global options to `pdf_from_html_file` and `pdf_from_string`
111
145
  - Add ability to generate pdf from a web resource: `pdf_from_url(url)`
112
146
  - Removed explicit dependency on [Rails](https://github.com/rails/rails), since parts of this library may be used without it.
113
147
 
114
148
  ### Fixes
115
- - Comment out the `:exe_path` option in the generated initalizer by default (since many systems won't have `wkthmltopdf` installed in that specific location)
149
+ - Comment out the `:exe_path` option in the generated initializer by default (since many systems won't have `wkthmltopdf` installed in that specific location)
116
150
  - Issues with `file://` paths on Windows-based systems
117
151
  - Issues with parsed options/argument ordering on versions of `wkthmltopdf` > 0.9
118
152
  - Issues with middleware headers when running Rails app mounted in a subdirectory
@@ -121,24 +155,16 @@ This project adheres to [Semantic Versioning](http://semver.org/).
121
155
  - Issue with header/footer `:content` being deleted after the first page
122
156
  - Issues with options being modified during processing (including global config options)
123
157
  - Issues with asset helpers recognizing assets specified without a protocol
124
- - Issues with `url()` references and embedded `data:base64` assests in stylesheets rendered with `wicked_pdf_stylesheet_link_tag`
158
+ - Issues with `url()` references and embedded `data:base64` assets in stylesheets rendered with `wicked_pdf_stylesheet_link_tag`
125
159
  - Asset helpers no longer add a file extension if it already is specified with one
126
160
 
127
161
  # Compare Releases
128
- - [1.2.2...HEAD](https://github.com/mileszs/wicked_pdf/compare/1.2.2...HEAD)
129
- - [1.2.2...1.3.0](https://github.com/mileszs/wicked_pdf/compare/1.2.2...1.3.0)
130
- - [1.2.1...1.2.2](https://github.com/mileszs/wicked_pdf/compare/1.2.1...1.2.2)
131
- - [1.2.0...1.2.1](https://github.com/mileszs/wicked_pdf/compare/1.1.0...1.2.0)
162
+ - [2.1.0...HEAD (unreleased changes)](https://github.com/mileszs/wicked_pdf/compare/2.1.0...HEAD)
163
+ - [2.0.2...2.1.0](https://github.com/mileszs/wicked_pdf/compare/2.0.2...2.1.0)
164
+ - [2.0.0...2.0.2](https://github.com/mileszs/wicked_pdf/compare/2.0.0...2.0.2)
165
+ - [1.4.0...2.0.0](https://github.com/mileszs/wicked_pdf/compare/1.4.0...2.0.0)
166
+ - [1.3.0...1.4.0](https://github.com/mileszs/wicked_pdf/compare/1.3.0...1.4.0)
167
+ - [1.2.0...1.3.0](https://github.com/mileszs/wicked_pdf/compare/1.2.0...1.3.0)
132
168
  - [1.1.0...1.2.0](https://github.com/mileszs/wicked_pdf/compare/1.1.0...1.2.0)
133
- - [1.0.6...1.1.0](https://github.com/mileszs/wicked_pdf/compare/1.0.6...1.1.0)
134
- - [1.0.5...1.0.6](https://github.com/mileszs/wicked_pdf/compare/1.0.5...1.0.6)
135
- - [1.0.4...1.0.5](https://github.com/mileszs/wicked_pdf/compare/1.0.4...1.0.5)
136
- - [1.0.3...1.0.4](https://github.com/mileszs/wicked_pdf/compare/1.0.3...1.0.4)
137
- - [1.0.2...1.0.3](https://github.com/mileszs/wicked_pdf/compare/1.0.2...1.0.3)
138
- - [1.0.1...1.0.2](https://github.com/mileszs/wicked_pdf/compare/1.0.1...1.0.2)
139
- - [1.0.0...1.0.1](https://github.com/mileszs/wicked_pdf/compare/1.0.0...1.0.1)
169
+ - [1.0.0...1.1.0](https://github.com/mileszs/wicked_pdf/compare/1.0.0...1.0.0)
140
170
  - [0.11.0...1.0.0](https://github.com/mileszs/wicked_pdf/compare/0.11.0...1.0.0)
141
- - [0.10.2...0.11.0](https://github.com/mileszs/wicked_pdf/compare/0.10.2...0.11.0)
142
- - [0.10.1...0.10.2](https://github.com/mileszs/wicked_pdf/compare/0.10.1...0.10.2)
143
- - [0.10.0...0.10.1](https://github.com/mileszs/wicked_pdf/compare/0.10.0...0.10.1)
144
- - [0.9.10...0.10.0](https://github.com/mileszs/wicked_pdf/compare/0.9.10...0.10.0)
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Wicked PDF uses the shell utility [wkhtmltopdf](http://wkhtmltopdf.org) to serve a PDF file to a user from HTML. In other words, rather than dealing with a PDF generation DSL of some sort, you simply write an HTML view as you would normally, then let Wicked PDF take care of the hard stuff.
6
6
 
7
- _Wicked PDF has been verified to work on Ruby versions 1.8.7 through 2.6; Rails 2 through 5.2_
7
+ _Wicked PDF has been verified to work on Ruby versions 2.2 through 2.6; Rails 4 through 6.1_
8
8
 
9
9
  ### Installation
10
10
 
@@ -109,11 +109,13 @@ Using wicked_pdf_helpers with asset pipeline raises `Asset names passed to helpe
109
109
 
110
110
  #### Webpacker usage
111
111
 
112
- wicked_pdf supports webpack stylesheets and javascript assets.
112
+ wicked_pdf supports webpack assets.
113
113
 
114
114
  Use `wicked_pdf_stylesheet_pack_tag` for stylesheets
115
115
  Use `wicked_pdf_javascript_pack_tag` for javascripts
116
116
 
117
+ Use `wicked_pdf_asset_pack_path` to access an asset directly, for example: `image_tag wicked_pdf_asset_pack_path("media/images/foobar.png")`
118
+
117
119
  #### Asset pipeline usage
118
120
 
119
121
  It is best to precompile assets used in PDF views. This will help avoid issues when it comes to deploying, as Rails serves asset files differently between development and production (`config.assets.compile = false`), which can make it look like your PDFs work in development, but fail to load assets in production.
@@ -144,6 +146,7 @@ class ThingsController < ApplicationController
144
146
  render pdf: 'file_name',
145
147
  disposition: 'attachment', # default 'inline'
146
148
  template: 'things/show',
149
+ locals: {foo: @bar},
147
150
  file: "#{Rails.root}/files/foo.erb",
148
151
  inline: '<!doctype html><html><head></head><body>INLINE HTML</body></html>',
149
152
  layout: 'pdf', # for a pdf.pdf.erb file
@@ -183,13 +186,21 @@ class ThingsController < ApplicationController
183
186
  disable_internal_links: true,
184
187
  disable_external_links: true,
185
188
  print_media_type: true,
189
+
190
+ # define as true the key 'disable_local_file_access' or 'enable_local_file_access', not both
191
+ disable_local_file_access: true,
192
+ enable_local_file_access: false,
193
+
186
194
  disable_smart_shrinking: true,
187
195
  use_xserver: true,
188
196
  background: false, # background needs to be true to enable background colors to render
189
197
  no_background: true,
198
+ no_stop_slow_scripts: false,
190
199
  viewport_size: 'TEXT', # available only with use_xserver or patched QT
191
200
  extra: '', # directly inserted into the command to wkhtmltopdf
192
201
  raise_on_all_errors: nil, # raise error for any stderr output. Such as missing media, image assets
202
+ log_level: 'info', # Available values: none, error, warn, or info - only available with wkhtmltopdf 0.12.5+
203
+ quiet: false, # `false` is same as `log_level: 'info'`, `true` is same as `log_level: 'none'`
193
204
  outline: { outline: true,
194
205
  outline_depth: LEVEL },
195
206
  margin: { top: SIZE, # default 10 (mm)
data/Rakefile CHANGED
@@ -42,11 +42,17 @@ task :dummy_generate do
42
42
  system('touch test/dummy/db/schema.rb')
43
43
  FileUtils.cp 'test/fixtures/database.yml', 'test/dummy/config/'
44
44
  FileUtils.rm_r Dir.glob('test/dummy/test/*')
45
+
46
+ # rails 6 needs this to be present before start:
47
+ FileUtils.mkdir_p('test/dummy/app/assets/config')
48
+ FileUtils.mkdir_p('test/dummy/app/assets/javascripts')
49
+ FileUtils.cp 'test/fixtures/manifest.js', 'test/dummy/app/assets/config/'
50
+ FileUtils.cp 'test/fixtures/wicked.js', 'test/dummy/app/assets/javascripts/'
45
51
  end
46
52
 
47
53
  desc 'Remove dummy application'
48
54
  task :dummy_remove do
49
- FileUtils.rm_r Dir.glob('test/dummy/*')
55
+ FileUtils.rm_r Dir.glob('test/dummy/')
50
56
  end
51
57
 
52
58
  desc 'Generate documentation for the wicked_pdf gem.'
@@ -2,5 +2,6 @@ source "https://rubygems.org"
2
2
 
3
3
  gem 'rdoc'
4
4
  gem 'rails', '~> 4.0.0'
5
+ gem 'sqlite3', '~> 1.3.6'
5
6
 
6
7
  gemspec path: '../'
@@ -2,5 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rdoc'
4
4
  gem 'rails', '~> 4.1.0'
5
+ gem 'sqlite3', '~> 1.3.6'
5
6
 
6
7
  gemspec path: '../'
@@ -1,6 +1,9 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rdoc'
4
+ gem 'bundler', '~>1.3'
5
+ gem 'sqlite3', '~> 1.3.6'
6
+ gem 'sprockets', '~>3.0'
4
7
  gem 'rails', '~> 4.2.0'
5
8
 
6
9
  gemspec path: '../'
@@ -1,6 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rdoc'
4
+ gem 'sqlite3', '~> 1.3.6'
5
+ gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
4
6
  gem 'rails', '~> 5.0.0'
5
7
 
6
8
  gemspec path: '../'
@@ -1,6 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rdoc'
4
+ gem 'sqlite3', '~> 1.3.6'
5
+ gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
4
6
  gem 'rails', '~> 5.1.0'
5
7
 
6
8
  gemspec path: '../'
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  gem 'rdoc'
4
4
  gem 'rails', '~> 5.2'
5
5
  gem 'sqlite3', '~> 1.3.6'
6
+ gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
6
7
  gem 'bootsnap' # required to run `rake test` in Rails 5.2
7
8
  gem 'mocha', '= 1.3' # newer versions blow up
8
9
 
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'bundler', '~>2'
4
+ gem 'rdoc'
5
+ gem 'rails', '~>6.0.1'
6
+ gem 'sqlite3', '~> 1.4'
7
+ gem 'sprockets', '~>3.0'
8
+ gem 'bootsnap' # required to run `rake test` in Rails 6.0
9
+ gem 'mocha', '= 1.3' # newer versions blow up
10
+
11
+ gemspec path: '../'
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rdoc'
4
4
  gem 'rails', git: 'https://github.com/rails/rails.git'
5
- gem 'sqlite3', '~> 1.3.6'
5
+ gem 'sqlite3', '~> 1.4'
6
6
  gem 'bootsnap' # required to run `rake test` in Rails 6.0
7
7
  gem 'mocha', '= 1.3' # newer versions blow up
8
8
 
@@ -18,4 +18,10 @@ WickedPdf.config = {
18
18
  # Layout file to be used for all PDFs
19
19
  # (but can be overridden in `render :pdf` calls)
20
20
  # layout: 'pdf.html',
21
+
22
+ # Using wkhtmltopdf without an X server can be achieved by enabling the
23
+ # 'use_xvfb' flag. This will wrap all wkhtmltopdf commands around the
24
+ # 'xvfb-run' command, in order to simulate an X server.
25
+ #
26
+ # use_xvfb: true,
21
27
  }
@@ -1,11 +1,7 @@
1
- if defined?(Rails) && Rails::VERSION::MAJOR != 2
2
-
3
- # Rails3 generator invoked with 'rails generate wicked_pdf'
4
- class WickedPdfGenerator < Rails::Generators::Base
5
- source_root(File.expand_path(File.dirname(__FILE__) + '/../../generators/wicked_pdf/templates'))
6
- def copy_initializer
7
- copy_file 'wicked_pdf.rb', 'config/initializers/wicked_pdf.rb'
8
- end
1
+ # Rails generator invoked with 'rails generate wicked_pdf'
2
+ class WickedPdfGenerator < Rails::Generators::Base
3
+ source_root(File.expand_path(File.dirname(__FILE__) + '/../../generators/wicked_pdf/templates'))
4
+ def copy_initializer
5
+ copy_file 'wicked_pdf.rb', 'config/initializers/wicked_pdf.rb'
9
6
  end
10
-
11
7
  end
@@ -4,24 +4,10 @@
4
4
  require 'logger'
5
5
  require 'digest/md5'
6
6
  require 'rbconfig'
7
+ require 'open3'
7
8
 
8
- if (RbConfig::CONFIG['target_os'] =~ /mswin|mingw/) && (RUBY_VERSION < '1.9')
9
- require 'win32/open3'
10
- else
11
- require 'open3'
12
- end
13
-
14
- begin
15
- require 'active_support/core_ext/module/attribute_accessors'
16
- rescue LoadError
17
- require 'active_support/core_ext/class/attribute_accessors'
18
- end
19
-
20
- begin
21
- require 'active_support/core_ext/object/blank'
22
- rescue LoadError
23
- require 'active_support/core_ext/blank'
24
- end
9
+ require 'active_support/core_ext/module/attribute_accessors'
10
+ require 'active_support/core_ext/object/blank'
25
11
 
26
12
  require 'wicked_pdf/version'
27
13
  require 'wicked_pdf/railtie'
@@ -71,6 +57,7 @@ class WickedPdf
71
57
  options.merge!(WickedPdf.config) { |_key, option, _config| option }
72
58
  generated_pdf_file = WickedPdfTempfile.new('wicked_pdf_generated_file.pdf', options[:temp_path])
73
59
  command = [@exe_path]
60
+ command.unshift(find_xvfb_run_binary_path) if options[:use_xvfb]
74
61
  command += parse_options(options)
75
62
  command << url
76
63
  command << generated_pdf_file.path.to_s
@@ -293,10 +280,12 @@ class WickedPdf
293
280
  :dpi,
294
281
  :page_size,
295
282
  :page_width,
296
- :title])
283
+ :title,
284
+ :log_level])
297
285
  r += make_options(options, [:lowquality,
298
286
  :grayscale,
299
- :no_pdf_compression], '', :boolean)
287
+ :no_pdf_compression,
288
+ :quiet], '', :boolean)
300
289
  r += make_options(options, [:image_dpi,
301
290
  :image_quality,
302
291
  :page_height], '', :numeric)
@@ -328,6 +317,8 @@ class WickedPdf
328
317
  :disable_internal_links,
329
318
  :disable_external_links,
330
319
  :print_media_type,
320
+ :disable_local_file_access,
321
+ :enable_local_file_access,
331
322
  :disable_smart_shrinking,
332
323
  :use_xserver,
333
324
  :no_background,
@@ -338,9 +329,13 @@ class WickedPdf
338
329
  r
339
330
  end
340
331
 
341
- def find_wkhtmltopdf_binary_path
332
+ def possible_binary_locations
342
333
  possible_locations = (ENV['PATH'].split(':') + %w[/usr/bin /usr/local/bin]).uniq
343
334
  possible_locations += %w[~/bin] if ENV.key?('HOME')
335
+ end
336
+
337
+ def find_wkhtmltopdf_binary_path
338
+ possible_locations = possible_binary_locations
344
339
  exe_path ||= WickedPdf.config[:exe_path] unless WickedPdf.config.empty?
345
340
  exe_path ||= begin
346
341
  detected_path = (defined?(Bundler) ? Bundler.which('wkhtmltopdf') : `which wkhtmltopdf`).chomp
@@ -351,4 +346,11 @@ class WickedPdf
351
346
  exe_path ||= possible_locations.map { |l| File.expand_path("#{l}/#{EXE_NAME}") }.find { |location| File.exist?(location) }
352
347
  exe_path || ''
353
348
  end
349
+
350
+ def find_xvfb_run_binary_path
351
+ possible_locations = possible_binary_locations
352
+ path = possible_locations.map { |l| File.expand_path("#{l}/xvfb-run") }.find { |location| File.exist?(location) }
353
+ raise StandardError.new('Could not find binary xvfb-run on the system.') unless path
354
+ path
355
+ end
354
356
  end
@@ -4,11 +4,9 @@ require 'wicked_pdf/wicked_pdf_helper/assets'
4
4
 
5
5
  class WickedPdf
6
6
  if defined?(Rails.env)
7
-
8
- if Rails::VERSION::MAJOR >= 4
9
-
10
- class WickedRailtie < Rails::Railtie
11
- initializer 'wicked_pdf.register', :after => 'remotipart.controller_helper' do |_app|
7
+ class WickedRailtie < Rails::Railtie
8
+ initializer 'wicked_pdf.register', :after => 'remotipart.controller_helper' do |_app|
9
+ ActiveSupport.on_load(:action_controller) do
12
10
  if ActionController::Base.respond_to?(:prepend) &&
13
11
  Object.method(:new).respond_to?(:super_method)
14
12
  ActionController::Base.send :prepend, PdfHelper
@@ -18,29 +16,6 @@ class WickedPdf
18
16
  ActionView::Base.send :include, WickedPdfHelper::Assets
19
17
  end
20
18
  end
21
-
22
- elsif Rails::VERSION::MAJOR == 3
23
-
24
- class WickedRailtie < Rails::Railtie
25
- initializer 'wicked_pdf.register' do |_app|
26
- ActionController::Base.send :include, PdfHelper
27
- if Rails::VERSION::MINOR > 0 && Rails.configuration.assets.enabled
28
- ActionView::Base.send :include, WickedPdfHelper::Assets
29
- else
30
- ActionView::Base.send :include, WickedPdfHelper
31
- end
32
- end
33
- end
34
-
35
- elsif Rails::VERSION::MAJOR == 2
36
-
37
- unless ActionController::Base.instance_methods.include? 'render_with_wicked_pdf'
38
- ActionController::Base.send :include, PdfHelper
39
- end
40
- unless ActionView::Base.instance_methods.include? 'wicked_pdf_stylesheet_link_tag'
41
- ActionView::Base.send :include, WickedPdfHelper
42
- end
43
-
44
19
  end
45
20
 
46
21
  if Mime::Type.lookup_by_extension(:pdf).nil?
@@ -1,3 +1,3 @@
1
1
  class WickedPdf
2
- VERSION = '1.3.0'.freeze
2
+ VERSION = '2.1.0'.freeze
3
3
  end
@@ -1,4 +1,4 @@
1
- require 'open-uri'
1
+ require 'net/http'
2
2
  # If webpacker is used, need to check for version
3
3
  require 'webpacker/version' if defined?(Webpacker)
4
4
 
@@ -79,6 +79,16 @@ class WickedPdf
79
79
  end
80
80
  end
81
81
 
82
+ def wicked_pdf_asset_pack_path(asset)
83
+ return unless defined?(Webpacker)
84
+
85
+ if running_in_development?
86
+ asset_pack_path(asset)
87
+ else
88
+ wicked_pdf_asset_path webpacker_source_url(asset)
89
+ end
90
+ end
91
+
82
92
  private
83
93
 
84
94
  # borrowed from actionpack/lib/action_view/helpers/asset_url_helper.rb
@@ -126,7 +136,8 @@ class WickedPdf
126
136
  end
127
137
 
128
138
  def precompiled_or_absolute_asset?(source)
129
- Rails.configuration.assets.compile == false ||
139
+ !Rails.configuration.respond_to?(:assets) ||
140
+ Rails.configuration.assets.compile == false ||
130
141
  source.to_s[0] == '/' ||
131
142
  source.to_s.match(/\Ahttps?\:\/\//)
132
143
  end
@@ -145,8 +156,8 @@ class WickedPdf
145
156
  end
146
157
 
147
158
  def read_from_uri(uri)
148
- encoding = ':UTF-8' if RUBY_VERSION > '1.8'
149
- asset = open(uri, "r#{encoding}", &:read)
159
+ asset = Net::HTTP.get(URI(uri))
160
+ asset.force_encoding('UTF-8') if asset
150
161
  asset = gzip(asset) if WickedPdf.config[:expect_gzipped_remote_assets]
151
162
  asset
152
163
  end
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link wicked.js
3
+ //= link wicked.css
@@ -5,13 +5,8 @@ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
5
 
6
6
  require 'test/unit'
7
7
  require 'mocha'
8
-
9
- if Rails::VERSION::MAJOR == 2
10
- require 'test_help'
11
- else
12
- require 'rails/test_help'
13
- require 'mocha/test_unit'
14
- end
8
+ require 'rails/test_help'
9
+ require 'mocha/test_unit'
15
10
 
16
11
  require 'wicked_pdf'
17
12
 
@@ -24,7 +19,15 @@ if (assets_dir = Rails.root.join('app/assets')) && File.directory?(assets_dir)
24
19
  File.open(destination, 'w') { |f| f.write(source) }
25
20
 
26
21
  # Copy JS file
27
- destination = assets_dir.join('javascripts/wicked.js')
22
+ js_dir = assets_dir.join('javascripts')
23
+ Dir.mkdir(js_dir) unless File.directory?(js_dir)
24
+ destination = js_dir.join('wicked.js')
28
25
  source = File.read('test/fixtures/wicked.js')
29
26
  File.open(destination, 'w') { |f| f.write(source) }
27
+
28
+ config_dir = assets_dir.join('config')
29
+ Dir.mkdir(config_dir) unless File.directory?(config_dir)
30
+ source = File.read('test/fixtures/manifest.js')
31
+ destination = config_dir.join('manifest.js')
32
+ File.open(destination, 'w') { |f| f.write(source) }
30
33
  end
@@ -18,7 +18,11 @@ Gem::Specification.new do |spec|
18
18
  In other words, rather than dealing with a PDF generation DSL of some sort,
19
19
  you simply write an HTML view as you would normally, and let Wicked take care of the hard stuff.
20
20
  DESC
21
+ spec.metadata = {
22
+ 'changelog_uri' => 'https://github.com/mileszs/wicked_pdf/blob/master/CHANGELOG.md'
23
+ }
21
24
 
25
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.2')
22
26
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
23
27
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
24
28
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
@@ -29,10 +33,10 @@ DESC
29
33
  spec.add_dependency 'activesupport'
30
34
 
31
35
  spec.add_development_dependency 'rails'
32
- spec.add_development_dependency 'bundler', RUBY_VERSION >= '2.5' ? '~> 2' : '~> 1.3'
36
+ spec.add_development_dependency 'bundler'
33
37
  spec.add_development_dependency 'rake'
34
- spec.add_development_dependency 'rubocop', '~> 0.50.0' if RUBY_VERSION >= '2.0.0'
35
- spec.add_development_dependency 'sqlite3', '~> 1.3.6'
38
+ spec.add_development_dependency 'rubocop', '~> 0.68.0'
39
+ spec.add_development_dependency 'sqlite3', '~> 1.3'
36
40
  spec.add_development_dependency 'mocha', '= 1.3'
37
41
  spec.add_development_dependency 'test-unit'
38
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wicked_pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Z. Sterrett
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-05-20 00:00:00.000000000 Z
12
+ date: 2020-06-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -43,16 +43,16 @@ dependencies:
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '2'
48
+ version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '2'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rake
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -73,28 +73,28 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 0.50.0
76
+ version: 0.68.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 0.50.0
83
+ version: 0.68.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: sqlite3
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: 1.3.6
90
+ version: '1.3'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: 1.3.6
97
+ version: '1.3'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: mocha
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -144,16 +144,13 @@ files:
144
144
  - LICENSE.txt
145
145
  - README.md
146
146
  - Rakefile
147
- - gemfiles/2.3.gemfile
148
- - gemfiles/3.0.gemfile
149
- - gemfiles/3.1.gemfile
150
- - gemfiles/3.2.gemfile
151
147
  - gemfiles/4.0.gemfile
152
148
  - gemfiles/4.1.gemfile
153
149
  - gemfiles/4.2.gemfile
154
150
  - gemfiles/5.0.gemfile
155
151
  - gemfiles/5.1.gemfile
156
152
  - gemfiles/5.2.gemfile
153
+ - gemfiles/6.0.gemfile
157
154
  - gemfiles/rails_edge.gemfile
158
155
  - generators/wicked_pdf/templates/wicked_pdf.rb
159
156
  - generators/wicked_pdf/wicked_pdf_generator.rb
@@ -170,6 +167,7 @@ files:
170
167
  - lib/wicked_pdf/wicked_pdf_helper/assets.rb
171
168
  - test/fixtures/database.yml
172
169
  - test/fixtures/document_with_long_line.html
170
+ - test/fixtures/manifest.js
173
171
  - test/fixtures/wicked.css
174
172
  - test/fixtures/wicked.js
175
173
  - test/functional/pdf_helper_test.rb
@@ -182,7 +180,8 @@ files:
182
180
  homepage: https://github.com/mileszs/wicked_pdf
183
181
  licenses:
184
182
  - MIT
185
- metadata: {}
183
+ metadata:
184
+ changelog_uri: https://github.com/mileszs/wicked_pdf/blob/master/CHANGELOG.md
186
185
  post_install_message:
187
186
  rdoc_options: []
188
187
  require_paths:
@@ -191,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
191
190
  requirements:
192
191
  - - ">="
193
192
  - !ruby/object:Gem::Version
194
- version: '0'
193
+ version: '2.2'
195
194
  required_rubygems_version: !ruby/object:Gem::Requirement
196
195
  requirements:
197
196
  - - ">="
@@ -206,6 +205,7 @@ summary: PDF generator (from HTML) gem for Ruby on Rails
206
205
  test_files:
207
206
  - test/fixtures/database.yml
208
207
  - test/fixtures/document_with_long_line.html
208
+ - test/fixtures/manifest.js
209
209
  - test/fixtures/wicked.css
210
210
  - test/fixtures/wicked.js
211
211
  - test/functional/pdf_helper_test.rb
@@ -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
-
10
- gemspec :path => '../'
@@ -1,12 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.0.0'
5
- gem 'sqlite3'
6
-
7
- if RUBY_VERSION < '1.9.3'
8
- gem 'rake', '~> 10.5'
9
- gem 'rack-cache', '~> 1.2.0'
10
- end
11
-
12
- gemspec :path => '../'
@@ -1,12 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.1.0'
5
- gem 'i18n', '~> 0.6.0'
6
-
7
- if RUBY_VERSION < '1.9.3'
8
- gem 'rake', '~> 10.5'
9
- gem 'rack-cache', '~> 1.2.0'
10
- end
11
-
12
- gemspec path: '../'
@@ -1,12 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rdoc'
4
- gem 'rails', '~> 3.2.0'
5
- gem 'i18n', '~> 0.6.0'
6
-
7
- if RUBY_VERSION < '1.9.3'
8
- gem 'rake', '~> 10.5'
9
- gem 'rack-cache', '~> 1.2.0'
10
- end
11
-
12
- gemspec path: '../'