apparition 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'capybara/apparition/dev_tools_protocol/target'
4
-
5
- module Capybara::Apparition
6
- module DevToolsProtocol
7
- class TargetManager
8
- def initialize(browser)
9
- @browser = browser
10
- @targets = {}
11
- end
12
-
13
- def get(id)
14
- @targets[id]
15
- end
16
-
17
- def of_type(type)
18
- @targets.select { |_id, target| target.info['type'] == type }
19
- end
20
-
21
- def add(id, target)
22
- raise ArgumentError, 'Target already exists' if @targets.key?(id)
23
-
24
- @targets[id] = if target.is_a? DevToolsProtocol::Target
25
- target
26
- else
27
- DevToolsProtocol::Target.new(@browser, target)
28
- end
29
- end
30
-
31
- def delete(id)
32
- @targets.delete(id)
33
- end
34
-
35
- def pages
36
- @targets.values.select { |target| target.info['type'] == 'page' }.map(&:page)
37
- end
38
-
39
- def target?(id)
40
- @targets.key?(id)
41
- end
42
-
43
- def window_handles
44
- @targets.values.select { |target| target.info['type'] == 'page' }.map(&:id).compact
45
- end
46
- end
47
- end
48
- end