browserctl 0.2.0 → 0.3.0
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 +4 -4
- data/CHANGELOG.md +39 -0
- data/README.md +7 -1
- data/bin/browserctl +73 -32
- data/bin/browserd +5 -3
- data/examples/cloudflare_hitl.rb +65 -0
- data/lib/browserctl/client.rb +99 -2
- data/lib/browserctl/commands/cli_output.rb +15 -0
- data/lib/browserctl/commands/click.rb +13 -7
- data/lib/browserctl/commands/fill.rb +23 -9
- data/lib/browserctl/commands/init.rb +29 -0
- data/lib/browserctl/commands/inspect.rb +21 -0
- data/lib/browserctl/commands/open_page.rb +10 -5
- data/lib/browserctl/commands/pause_resume.rb +32 -0
- data/lib/browserctl/commands/record.rb +13 -18
- data/lib/browserctl/commands/screenshot.rb +10 -4
- data/lib/browserctl/commands/snapshot.rb +19 -8
- data/lib/browserctl/commands/watch.rb +13 -3
- data/lib/browserctl/recording.rb +3 -1
- data/lib/browserctl/runner.rb +19 -0
- data/lib/browserctl/server/command_dispatcher.rb +171 -53
- data/lib/browserctl/server/page_session.rb +21 -0
- data/lib/browserctl/server.rb +3 -3
- data/lib/browserctl/version.rb +1 -1
- data/lib/browserctl/workflow.rb +7 -0
- data/lib/browserctl.rb +8 -0
- metadata +21 -2
- data/lib/browserctl/commands/flag_extractor.rb +0 -23
data/lib/browserctl.rb
CHANGED
|
@@ -5,3 +5,11 @@ require_relative "browserctl/constants"
|
|
|
5
5
|
require_relative "browserctl/workflow"
|
|
6
6
|
require_relative "browserctl/runner"
|
|
7
7
|
require_relative "browserctl/client"
|
|
8
|
+
|
|
9
|
+
module Browserctl
|
|
10
|
+
PLUGIN_COMMANDS = {} # rubocop:disable Style/MutableConstant
|
|
11
|
+
|
|
12
|
+
def self.register_command(name, &block)
|
|
13
|
+
PLUGIN_COMMANDS[name.to_s] = block
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: browserctl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Patrick
|
|
@@ -80,6 +80,20 @@ dependencies:
|
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '1.65'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: yard
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0.9'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0.9'
|
|
83
97
|
description: Named browser sessions, Ruby workflow DSL, and a token-efficient DOM
|
|
84
98
|
snapshot format. Built on Ferrum (Chrome DevTools Protocol).
|
|
85
99
|
email:
|
|
@@ -96,6 +110,7 @@ files:
|
|
|
96
110
|
- bin/browserctl
|
|
97
111
|
- bin/browserd
|
|
98
112
|
- bin/setup
|
|
113
|
+
- examples/cloudflare_hitl.rb
|
|
99
114
|
- examples/the_internet/add_remove_elements.rb
|
|
100
115
|
- examples/the_internet/checkboxes.rb
|
|
101
116
|
- examples/the_internet/dropdown.rb
|
|
@@ -103,10 +118,13 @@ files:
|
|
|
103
118
|
- examples/the_internet/login.rb
|
|
104
119
|
- lib/browserctl.rb
|
|
105
120
|
- lib/browserctl/client.rb
|
|
121
|
+
- lib/browserctl/commands/cli_output.rb
|
|
106
122
|
- lib/browserctl/commands/click.rb
|
|
107
123
|
- lib/browserctl/commands/fill.rb
|
|
108
|
-
- lib/browserctl/commands/
|
|
124
|
+
- lib/browserctl/commands/init.rb
|
|
125
|
+
- lib/browserctl/commands/inspect.rb
|
|
109
126
|
- lib/browserctl/commands/open_page.rb
|
|
127
|
+
- lib/browserctl/commands/pause_resume.rb
|
|
110
128
|
- lib/browserctl/commands/record.rb
|
|
111
129
|
- lib/browserctl/commands/screenshot.rb
|
|
112
130
|
- lib/browserctl/commands/snapshot.rb
|
|
@@ -118,6 +136,7 @@ files:
|
|
|
118
136
|
- lib/browserctl/server.rb
|
|
119
137
|
- lib/browserctl/server/command_dispatcher.rb
|
|
120
138
|
- lib/browserctl/server/idle_watcher.rb
|
|
139
|
+
- lib/browserctl/server/page_session.rb
|
|
121
140
|
- lib/browserctl/server/snapshot_builder.rb
|
|
122
141
|
- lib/browserctl/version.rb
|
|
123
142
|
- lib/browserctl/workflow.rb
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Browserctl
|
|
4
|
-
module Commands
|
|
5
|
-
module FlagExtractor
|
|
6
|
-
def self.extract_opt(args, flag)
|
|
7
|
-
i = args.index(flag)
|
|
8
|
-
return unless i
|
|
9
|
-
|
|
10
|
-
sliced = args.slice!(i, 2)
|
|
11
|
-
sliced.length == 2 ? sliced.last : nil
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def self.extract_flag?(args, flag)
|
|
15
|
-
i = args.index(flag)
|
|
16
|
-
return false unless i
|
|
17
|
-
|
|
18
|
-
args.delete_at(i)
|
|
19
|
-
true
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|