puppeteer-ruby 0.31.0 → 0.31.6

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.
@@ -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