grover 1.1.2 → 1.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b99e2ab2724c1384347e40dd33199bd943fd4ec371f0cbf1c539ce6e3cca81f7
4
- data.tar.gz: eb96813f2e5ef10d50ce5b1dfe4bb0cfaffc54d7dd212c10901e7f85ff8b9fdf
3
+ metadata.gz: 605a1ddd3d51f652e03c28d8f6ab97b45e9f026884da2ea4772b57fc83287dd2
4
+ data.tar.gz: c4bc0069f551b4e15df0b59b42175b20bc3d8130fb2981b947b832e0f2e48e14
5
5
  SHA512:
6
- metadata.gz: 633d31ee5053ec6d6c00f0e0ac2e68c0a5768cfbf201be61b56e35b6912d1f8f1720e56457eb8fb212bd85842a74a16e3a4d806f2dccfd166223df0ffae3163d
7
- data.tar.gz: 714be51eb85beae33685cf8d11812fbb62fa3dfaec16a5da599ec96b26982c3dacdf916630eed9775567275cdee229c780a00a79435be9b1237ba38ec6e72381
6
+ metadata.gz: cfdb35168bba8db20bc0ba7cf027d13ebb61670f2a89f059710129cdd3c7460f0b95f80a0cc7fbd2f334ca25348e733eccd1ce00bd380e6d65282e3018161572
7
+ data.tar.gz: '08cdc3c9c5ce2bf8c3d9c7d155db3cb558dd77e718008f7c8d5662188bf78071b611e3ad3aa2b3f32800b6595c492222c6f1a99768a2be983aa4e5e7f37b12f5'
@@ -31,88 +31,6 @@ class Object
31
31
  end
32
32
  end
33
33
 
34
- class NilClass
35
- begin
36
- nil.dup
37
- rescue TypeError
38
- # +nil+ is not duplicable:
39
- #
40
- # nil.duplicable? # => false
41
- # nil.dup # => TypeError: can't dup NilClass
42
- def duplicable?
43
- false
44
- end
45
- end
46
- end
47
-
48
- class FalseClass
49
- begin
50
- false.dup
51
- rescue TypeError
52
- # +false+ is not duplicable:
53
- #
54
- # false.duplicable? # => false
55
- # false.dup # => TypeError: can't dup FalseClass
56
- def duplicable?
57
- false
58
- end
59
- end
60
- end
61
-
62
- class TrueClass
63
- begin
64
- true.dup
65
- rescue TypeError
66
- # +true+ is not duplicable:
67
- #
68
- # true.duplicable? # => false
69
- # true.dup # => TypeError: can't dup TrueClass
70
- def duplicable?
71
- false
72
- end
73
- end
74
- end
75
-
76
- class Symbol
77
- begin
78
- :symbol.dup # Ruby 2.4.x.
79
- 'symbol_from_string'.to_sym.dup # Some symbols can't `dup` in Ruby 2.4.0.
80
- rescue TypeError
81
- # Symbols are not duplicable:
82
- #
83
- # :my_symbol.duplicable? # => false
84
- # :my_symbol.dup # => TypeError: can't dup Symbol
85
- def duplicable?
86
- false
87
- end
88
- end
89
- end
90
-
91
- class Numeric
92
- begin
93
- 1.dup
94
- rescue TypeError
95
- # Numbers are not duplicable:
96
- #
97
- # 3.duplicable? # => false
98
- # 3.dup # => TypeError: can't dup Integer
99
- def duplicable?
100
- false
101
- end
102
- end
103
- end
104
-
105
- require 'bigdecimal'
106
- class BigDecimal
107
- # BigDecimals are duplicable:
108
- #
109
- # BigDecimal("1.2").duplicable? # => true
110
- # BigDecimal("1.2").dup # => #<BigDecimal:...,'0.12E1',18(18)>
111
- def duplicable?
112
- true
113
- end
114
- end
115
-
116
34
  class Method
117
35
  # Methods are not duplicable:
118
36
  #
@@ -123,30 +41,12 @@ class Method
123
41
  end
124
42
  end
125
43
 
126
- class Complex
127
- begin
128
- Complex(1).dup
129
- rescue TypeError
130
- # Complexes are not duplicable:
131
- #
132
- # Complex(1).duplicable? # => false
133
- # Complex(1).dup # => TypeError: can't copy Complex
134
- def duplicable?
135
- false
136
- end
137
- end
138
- end
139
-
140
- class Rational
141
- begin
142
- Rational(1).dup
143
- rescue TypeError
144
- # Rationals are not duplicable:
145
- #
146
- # Rational(1).duplicable? # => false
147
- # Rational(1).dup # => TypeError: can't copy Rational
148
- def duplicable?
149
- false
150
- end
44
+ class UnboundMethod
45
+ # Unbound methods are not duplicable:
46
+ #
47
+ # method(:puts).unbind.duplicable? # => false
48
+ # method(:puts).unbind.dup # => TypeError: allocator undefined for UnboundMethod
49
+ def duplicable?
50
+ false
151
51
  end
152
52
  end
@@ -10,11 +10,18 @@ try {
10
10
  }
11
11
  process.stdout.write("[\"ok\"]\n");
12
12
 
13
+ const fs = require('fs');
14
+ const os = require('os');
15
+ const path = require('path');
16
+
13
17
  const _processPage = (async (convertAction, urlOrHtml, options) => {
14
- let browser, errors = [];
18
+ let browser, errors = [], tmpDir;
15
19
  try {
20
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'grover-'));
21
+
16
22
  const launchParams = {
17
- args: process.env.GROVER_NO_SANDBOX === 'true' ? ['--no-sandbox', '--disable-setuid-sandbox'] : []
23
+ args: process.env.GROVER_NO_SANDBOX === 'true' ? ['--no-sandbox', '--disable-setuid-sandbox'] : [],
24
+ userDataDir: tmpDir
18
25
  };
19
26
 
20
27
  // Configure puppeteer debugging options
@@ -245,6 +252,10 @@ const _processPage = (async (convertAction, urlOrHtml, options) => {
245
252
  if (browser) {
246
253
  await browser.close();
247
254
  }
255
+
256
+ try {
257
+ if (tmpDir) fs.rmSync(tmpDir, { recursive: true });
258
+ } catch { }
248
259
  }
249
260
  });
250
261
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Grover
4
- VERSION = '1.1.2'
4
+ VERSION = '1.1.4'
5
5
  end
data/lib/grover.rb CHANGED
@@ -30,7 +30,8 @@ class Grover
30
30
  #
31
31
  # @param [String] url URL of the page to convert
32
32
  # @param [Hash] options Optional parameters to pass to PDF processor
33
- # see https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepdfoptions
33
+ # see https://github.com/puppeteer/puppeteer/blob/main/docs/api/puppeteer.pdfoptions.md
34
+ # and https://github.com/puppeteer/puppeteer/blob/main/docs/api/puppeteer.screenshotoptions.md
34
35
  #
35
36
  def initialize(url, **options)
36
37
  @url = url.to_s
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grover
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Bromwich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2023-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: combine_pdf
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.9'
47
+ version: '4.12'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.9'
54
+ version: '4.12'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pdf-reader
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.2'
61
+ version: '2.11'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.2'
68
+ version: '2.11'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack-test
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,56 +86,70 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '12.3'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '12.3'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '3.8'
103
+ version: '3.12'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '3.8'
110
+ version: '3.12'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.72'
117
+ version: '1.43'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.72'
124
+ version: '1.43'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.6'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.6'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rubocop-rspec
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '1.33'
145
+ version: '2.18'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '1.33'
152
+ version: '2.18'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: simplecov
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -191,17 +205,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - ">="
193
207
  - !ruby/object:Gem::Version
194
- version: 2.6.0
208
+ version: 2.7.0
195
209
  - - "<"
196
210
  - !ruby/object:Gem::Version
197
- version: 3.2.0
211
+ version: 3.3.0
198
212
  required_rubygems_version: !ruby/object:Gem::Requirement
199
213
  requirements:
200
214
  - - ">="
201
215
  - !ruby/object:Gem::Version
202
216
  version: '0'
203
217
  requirements: []
204
- rubygems_version: 3.3.7
218
+ rubygems_version: 3.4.4
205
219
  signing_key:
206
220
  specification_version: 4
207
221
  summary: A Ruby gem to transform HTML into PDF, PNG or JPEG by wrapping the NodeJS