puppeteer-ruby 0.0.20 → 0.0.26

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,14 +32,14 @@ class Puppeteer::Page
32
32
  @type ||= 'png'
33
33
 
34
34
  if options[:quality]
35
- unless @type == 'png'
35
+ unless @type == 'jpeg'
36
36
  raise ArgumentError.new("options.quality is unsupported for the #{@type} screenshots")
37
37
  end
38
38
  unless options[:quality].is_a?(Numeric)
39
39
  raise ArgumentError.new("Expected options.quality to be a number but found #{options[:quality].class}")
40
40
  end
41
41
  quality = options[:quality].to_i
42
- unless (0..100).include?(qualizy)
42
+ unless (0..100).include?(quality)
43
43
  raise ArgumentError.new("Expected options.quality to be between 0 and 100 (inclusive), got #{quality}")
44
44
  end
45
45
  @quality = quality
@@ -0,0 +1,13 @@
1
+ class Puppeteer::Page
2
+ class ScreenshotTaskQueue
3
+ def initialize
4
+ @chain = Concurrent::Promises.fulfilled_future(nil)
5
+ end
6
+
7
+ def post_task(&block)
8
+ result = @chain.then { block.call }
9
+ @chain = result.rescue { nil }
10
+ result.value!
11
+ end
12
+ end
13
+ end
@@ -18,15 +18,13 @@ class Puppeteer::Target
18
18
  # @param {!function():!Promise<!Puppeteer.CDPSession>} sessionFactory
19
19
  # @param {boolean} ignoreHTTPSErrors
20
20
  # @param {?Puppeteer.Viewport} defaultViewport
21
- # @param {!Puppeteer.TaskQueue} screenshotTaskQueue
22
- def initialize(target_info:, browser_context:, session_factory:, ignore_https_errors:, default_viewport:, screenshot_task_queue:)
21
+ def initialize(target_info:, browser_context:, session_factory:, ignore_https_errors:, default_viewport:)
23
22
  @target_info = target_info
24
23
  @browser_context = browser_context
25
24
  @target_id = target_info.target_id
26
25
  @session_factory = session_factory
27
26
  @ignore_https_errors = ignore_https_errors
28
27
  @default_viewport = default_viewport
29
- @screenshot_task_queue = screenshot_task_queue
30
28
 
31
29
 
32
30
  # /** @type {?Promise<!Puppeteer.Page>} */
@@ -68,10 +66,10 @@ class Puppeteer::Target
68
66
  if opener_page.nil? || type != 'page'
69
67
  return true
70
68
  end
71
- # if (!openerPage.listenerCount(Events.Page.Popup))
69
+ # if (!openerPage.listenerCount(PageEmittedEvents::Popup))
72
70
  # return true;
73
71
  popup_page = page
74
- opener_page.emit_event('Events.Page.Popup', popup_page)
72
+ opener_page.emit_event(PageEmittedEvents::Popup, popup_page)
75
73
 
76
74
  true
77
75
  end
@@ -87,7 +85,7 @@ class Puppeteer::Target
87
85
  def page
88
86
  if ['page', 'background_page', 'webview'].include?(@target_info.type) && @page.nil?
89
87
  client = @session_factory.call
90
- @page = Puppeteer::Page.create(client, self, @ignore_https_errors, @default_viewport, @screenshot_task_queue)
88
+ @page = Puppeteer::Page.create(client, self, @ignore_https_errors, @default_viewport)
91
89
  end
92
90
  @page
93
91
  end
@@ -1,3 +1,3 @@
1
1
  class Puppeteer
2
- VERSION = '0.0.20'
2
+ VERSION = '0.0.26'
3
3
  end
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'websocket-driver', '>= 0.6.0'
23
23
  spec.add_dependency 'mime-types', '>= 3.0'
24
24
  spec.add_development_dependency 'bundler', '~> 1.17'
25
+ spec.add_development_dependency 'chunky_png'
25
26
  spec.add_development_dependency 'pry-byebug'
26
27
  spec.add_development_dependency 'rake', '~> 10.0'
27
28
  spec.add_development_dependency 'rspec', '~> 3.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppeteer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-21 00:00:00.000000000 Z
11
+ date: 2020-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.17'
69
+ - !ruby/object:Gem::Dependency
70
+ name: chunky_png
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: pry-byebug
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -193,6 +207,7 @@ files:
193
207
  - ".rspec"
194
208
  - ".rubocop.yml"
195
209
  - ".travis.yml"
210
+ - CHANGELOG.md
196
211
  - Dockerfile
197
212
  - Gemfile
198
213
  - README.md
@@ -223,10 +238,13 @@ files:
223
238
  - lib/puppeteer/env.rb
224
239
  - lib/puppeteer/errors.rb
225
240
  - lib/puppeteer/event_callbackable.rb
241
+ - lib/puppeteer/events.rb
242
+ - lib/puppeteer/exception_details.rb
226
243
  - lib/puppeteer/execution_context.rb
227
244
  - lib/puppeteer/file_chooser.rb
228
245
  - lib/puppeteer/frame.rb
229
246
  - lib/puppeteer/frame_manager.rb
247
+ - lib/puppeteer/geolocation.rb
230
248
  - lib/puppeteer/if_present.rb
231
249
  - lib/puppeteer/js_handle.rb
232
250
  - lib/puppeteer/keyboard.rb
@@ -245,6 +263,7 @@ files:
245
263
  - lib/puppeteer/page.rb
246
264
  - lib/puppeteer/page/pdf_options.rb
247
265
  - lib/puppeteer/page/screenshot_options.rb
266
+ - lib/puppeteer/page/screenshot_task_queue.rb
248
267
  - lib/puppeteer/remote_object.rb
249
268
  - lib/puppeteer/request.rb
250
269
  - lib/puppeteer/response.rb