puppeteer-ruby 0.31.0 → 0.31.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
- class Puppeteer
2
- VERSION = '0.31.0'
1
+ module Puppeteer
2
+ VERSION = '0.31.6'
3
3
  end
@@ -135,18 +135,17 @@ class Puppeteer::WaitTask
135
135
  /**
136
136
  * @return {!Promise<*>}
137
137
  */
138
- function pollMutation() {
139
- const success = predicate(...args);
140
- if (success)
141
- return Promise.resolve(success);
138
+ async function pollMutation() {
139
+ const success = await predicate(...args);
140
+ if (success) return Promise.resolve(success);
142
141
  let fulfill;
143
142
  const result = new Promise((x) => (fulfill = x));
144
- const observer = new MutationObserver(() => {
143
+ const observer = new MutationObserver(async () => {
145
144
  if (timedOut) {
146
145
  observer.disconnect();
147
146
  fulfill();
148
147
  }
149
- const success = predicate(...args);
148
+ const success = await predicate(...args);
150
149
  if (success) {
151
150
  observer.disconnect();
152
151
  fulfill(success);
@@ -159,38 +158,34 @@ class Puppeteer::WaitTask
159
158
  });
160
159
  return result;
161
160
  }
162
- function pollRaf() {
161
+ async function pollRaf() {
163
162
  let fulfill;
164
163
  const result = new Promise((x) => (fulfill = x));
165
- onRaf();
164
+ await onRaf();
166
165
  return result;
167
- function onRaf() {
166
+ async function onRaf() {
168
167
  if (timedOut) {
169
168
  fulfill();
170
169
  return;
171
170
  }
172
- const success = predicate(...args);
173
- if (success)
174
- fulfill(success);
175
- else
176
- requestAnimationFrame(onRaf);
171
+ const success = await predicate(...args);
172
+ if (success) fulfill(success);
173
+ else requestAnimationFrame(onRaf);
177
174
  }
178
175
  }
179
- function pollInterval(pollInterval) {
176
+ async function pollInterval(pollInterval) {
180
177
  let fulfill;
181
178
  const result = new Promise((x) => (fulfill = x));
182
- onTimeout();
179
+ await onTimeout();
183
180
  return result;
184
- function onTimeout() {
181
+ async function onTimeout() {
185
182
  if (timedOut) {
186
183
  fulfill();
187
184
  return;
188
185
  }
189
- const success = predicate(...args);
190
- if (success)
191
- fulfill(success);
192
- else
193
- setTimeout(onTimeout, pollInterval);
186
+ const success = await predicate(...args);
187
+ if (success) fulfill(success);
188
+ else setTimeout(onTimeout, pollInterval);
194
189
  }
195
190
  }
196
191
  }
@@ -12,7 +12,9 @@ Gem::Specification.new do |spec|
12
12
  spec.homepage = 'https://github.com/YusukeIwaki/puppeteer-ruby'
13
13
 
14
14
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
15
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
+ `git ls-files -z`.split("\x0").reject do |f|
16
+ f.match(%r{^(test|spec|features)/}) || f.include?(".git") || f.include?(".circleci") || f.start_with?("development/")
17
+ end
16
18
  end
17
19
  spec.bindir = 'exe'
18
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -23,11 +25,12 @@ Gem::Specification.new do |spec|
23
25
  spec.add_dependency 'mime-types', '>= 3.0'
24
26
  spec.add_development_dependency 'bundler', '~> 2.2.3'
25
27
  spec.add_development_dependency 'chunky_png'
28
+ spec.add_development_dependency 'dry-inflector'
26
29
  spec.add_development_dependency 'pry-byebug'
27
30
  spec.add_development_dependency 'rake', '~> 13.0.3'
28
31
  spec.add_development_dependency 'rspec', '~> 3.10.0 '
29
32
  spec.add_development_dependency 'rspec_junit_formatter' # for CircleCI.
30
- spec.add_development_dependency 'rubocop', '~> 1.11.0'
33
+ spec.add_development_dependency 'rubocop', '~> 1.12.0'
31
34
  spec.add_development_dependency 'rubocop-rspec'
32
35
  spec.add_development_dependency 'sinatra'
33
36
  spec.add_development_dependency 'webrick'
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.31.0
4
+ version: 0.31.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-18 00:00:00.000000000 Z
11
+ date: 2021-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: dry-inflector
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: pry-byebug
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +156,14 @@ dependencies:
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 1.11.0
159
+ version: 1.12.0
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 1.11.0
166
+ version: 1.12.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rubocop-rspec
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -213,25 +227,18 @@ executables: []
213
227
  extensions: []
214
228
  extra_rdoc_files: []
215
229
  files:
216
- - ".circleci/config.yml"
217
- - ".github/ISSUE_TEMPLATE/bug_report.md"
218
- - ".github/ISSUE_TEMPLATE/feature_request.md"
219
- - ".github/stale.yml"
220
- - ".github/workflows/docs.yml"
221
- - ".github/workflows/reviewdog.yml"
222
- - ".github/workflows/windows_check.yml"
223
- - ".gitignore"
224
230
  - ".rspec"
225
231
  - ".rubocop.yml"
226
- - ".travis.yml"
227
232
  - CHANGELOG.md
228
233
  - Dockerfile
229
234
  - Gemfile
235
+ - LICENSE
230
236
  - README.md
231
237
  - Rakefile
232
238
  - bin/console
233
239
  - bin/setup
234
240
  - docker-compose.yml
241
+ - docs/api_coverage.md
235
242
  - lib/puppeteer.rb
236
243
  - lib/puppeteer/aria_query_handler.rb
237
244
  - lib/puppeteer/browser.rb
@@ -283,6 +290,7 @@ files:
283
290
  - lib/puppeteer/page/pdf_options.rb
284
291
  - lib/puppeteer/page/screenshot_options.rb
285
292
  - lib/puppeteer/page/screenshot_task_queue.rb
293
+ - lib/puppeteer/puppeteer.rb
286
294
  - lib/puppeteer/query_handler_manager.rb
287
295
  - lib/puppeteer/remote_object.rb
288
296
  - lib/puppeteer/request.rb
data/.circleci/config.yml DELETED
@@ -1,92 +0,0 @@
1
- version: 2.1
2
-
3
- rspec_chrome_job: &rspec_chrome_job
4
- steps:
5
- - checkout
6
- - run:
7
- command: gem install bundler:2.2.3 && bundle install
8
- - run:
9
- name: rspec
10
- command: |
11
- DEBUG=1 bundle exec rspec --profile 10 \
12
- --format RspecJunitFormatter \
13
- --out test_results/rspec.xml \
14
- --format documentation
15
-
16
- jobs:
17
- rspec_chrome_ruby2_6:
18
- docker:
19
- - image: circleci/ruby:2.6.6-buster-node-browsers
20
- <<: *rspec_chrome_job
21
-
22
- rspec_chrome_ruby2_7:
23
- docker:
24
- - image: circleci/ruby:2.7.2-buster-node-browsers
25
- <<: *rspec_chrome_job
26
-
27
- rspec_chrome_ruby3_0:
28
- docker:
29
- - image: circleci/ruby:3.0.0-buster-node-browsers
30
- <<: *rspec_chrome_job
31
-
32
- rspec_firefox:
33
- docker:
34
- - image: circleci/ruby:2.7.2-buster-node-browsers
35
- steps:
36
- - checkout
37
- - run:
38
- command: gem install bundler:2.2.3 && bundle install
39
- - run:
40
- name: install firefox-nightly
41
- command: |
42
- wget -O nightly.tar.bz2 "https://download.mozilla.org/?product=firefox-nightly-latest-ssl&os=linux64&lang=en-US"
43
- tar xf nightly.tar.bz2
44
- - run:
45
- name: rspec
46
- command: |
47
- DEBUG=1 PUPPETEER_PRODUCT_RSPEC=firefox \
48
- PUPPETEER_EXECUTABLE_PATH_RSPEC=${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/firefox/firefox \
49
- bundle exec rspec --profile 10 \
50
- --format RspecJunitFormatter \
51
- --out test_results/rspec.xml \
52
- --format documentation spec/integration/
53
-
54
- deploy:
55
- docker:
56
- - image: circleci/ruby:2.6.3-stretch-node
57
- steps:
58
- - checkout
59
- - run:
60
- command: gem install bundler:2.2.3 && bundle install
61
- - run:
62
- name: rake build
63
- command: rake build
64
- - run:
65
- name: setup API key
66
- command: |
67
- mkdir -p ~/.gem/
68
- echo "---" > ~/.gem/credentials
69
- echo ":rubygems_api_key: $RUBYGEMS_API_KEY" >> ~/.gem/credentials
70
- chmod 600 ~/.gem/credentials
71
- - run:
72
- name: Check Puppeteer::version
73
- command: bundle exec ruby -e 'raise "invalid Puppeteer::VERSION" unless Puppeteer::VERSION == ENV["CIRCLE_TAG"]'
74
- - run:
75
- name: gem push
76
- command: gem push pkg/puppeteer-ruby-$CIRCLE_TAG.gem
77
-
78
- workflows:
79
- ci:
80
- jobs:
81
- - rspec_chrome_ruby2_6
82
- - rspec_chrome_ruby2_7
83
- - rspec_chrome_ruby3_0
84
- - rspec_firefox
85
- rubygems-deploy:
86
- jobs:
87
- - deploy:
88
- filters:
89
- tags:
90
- only: /^[0-9]\.[0-9]+\.[0-9].*/
91
- branches:
92
- ignore: /.*/
@@ -1,17 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- ### Step To Reproduce / Observed behavior
11
-
12
-
13
- ### Expected behavior
14
-
15
- ### Environment
16
-
17
- Paste the output of `ruby --version`
@@ -1,15 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Request a new feature for playwright-ruby-client
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- ### Simple description about the feature
11
-
12
-
13
- ### Usecase / Motivation
14
-
15
- <!-- Describe why the feature helps. -->
data/.github/stale.yml DELETED
@@ -1,16 +0,0 @@
1
- # Number of days of inactivity before an issue becomes stale
2
- daysUntilStale: 14
3
- # Number of days of inactivity before a stale issue is closed
4
- daysUntilClose: 7
5
- # Issues with these labels will never be considered stale
6
- exemptLabels:
7
- - security
8
- # Label to use when marking an issue as stale
9
- staleLabel: inactive
10
- # Comment to post when marking an issue as stale. Set to `false` to disable
11
- markComment: >
12
- This issue has been automatically marked as stale because it has not had
13
- recent activity. It will be closed if no further activity occurs. Thank you
14
- for your contributions.
15
- # Comment to post when closing a stale issue. Set to `false` to disable
16
- closeComment: false
@@ -1,45 +0,0 @@
1
- name: update docs
2
- on:
3
- push:
4
- branches:
5
- - master
6
-
7
- jobs:
8
- update-docs:
9
- name: update docs
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout
14
- uses: actions/checkout@v2
15
-
16
- - name: Set up Ruby
17
- uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: 2.7
20
-
21
- - name: Install dependencies
22
- run: |
23
- gem uninstall bundler
24
- gem install bundler -v 2.2.3
25
- bundle install
26
-
27
- - name: Deploy Configuration
28
- run: |
29
- mkdir ~/.ssh
30
- ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
31
- echo "${{ secrets.DOCS_DEPLOY_SSH_RSA }}" | base64 -d > ~/.ssh/id_rsa
32
- chmod 400 ~/.ssh/id_rsa
33
-
34
- - name: Build and Push
35
- run: |
36
- git clone git@github.com:YusukeIwaki/puppeteer-ruby-docs.git docs
37
- rm -rf docs/*
38
- bundle exec yardoc -o docs
39
- cp puppeteer-ruby.png docs/
40
- cd docs/
41
- git add -A
42
- git config user.name github
43
- git config user.email github@example.com
44
- git commit -m ${{ github.sha }}
45
- git push origin master
@@ -1,18 +0,0 @@
1
- name: reviewdog
2
- on: [pull_request]
3
- jobs:
4
- rubocop:
5
- name: runner / rubocop
6
- runs-on: ubuntu-latest
7
- steps:
8
- - name: Check out code
9
- uses: actions/checkout@v2
10
- - uses: ruby/setup-ruby@v1
11
- with:
12
- ruby-version: 3.0.0
13
- - name: rubocop
14
- uses: reviewdog/action-rubocop@v1
15
- with:
16
- github_token: ${{ secrets.github_token }}
17
- reporter: github-pr-review
18
- rubocop_version: 1.11.0
@@ -1,40 +0,0 @@
1
- name: Windows check
2
- on: [pull_request]
3
- jobs:
4
- windows_edge_rspec:
5
- name: RSpec on Windows / Edge
6
- runs-on: windows-latest
7
- steps:
8
- - name: Check out code
9
- uses: actions/checkout@v2
10
- - uses: ruby/setup-ruby@v1
11
- with:
12
- ruby-version: 3.0.0
13
- - name: Install dependencies
14
- run: |
15
- gem uninstall bundler
16
- gem install bundler -v 2.2.3
17
- bundle install
18
- - uses: browser-actions/setup-edge@latest
19
- - name: Check example
20
- run: bundle exec rspec spec/integration/example_spec.rb
21
- env:
22
- PUPPETEER_EXECUTABLE_PATH_RSPEC: 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
23
-
24
- windows_chrome_rspec:
25
- name: RSpec on Windows / Chrome
26
- runs-on: windows-latest
27
- steps:
28
- - name: Check out code
29
- uses: actions/checkout@v2
30
- - uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: 3.0.0
33
- - name: Install dependencies
34
- run: |
35
- gem uninstall bundler
36
- gem install bundler -v 2.2.3
37
- bundle install
38
- - uses: browser-actions/setup-chrome@latest
39
- - name: Check example
40
- run: bundle exec rspec spec/integration/example_spec.rb