Module: Browserctl
- Defined in:
- lib/browserctl.rb,
lib/browserctl/client.rb,
lib/browserctl/logger.rb,
lib/browserctl/runner.rb,
lib/browserctl/server.rb,
lib/browserctl/version.rb,
lib/browserctl/workflow.rb,
lib/browserctl/constants.rb,
lib/browserctl/recording.rb,
lib/browserctl/commands/fill.rb,
lib/browserctl/commands/init.rb,
lib/browserctl/commands/click.rb,
lib/browserctl/commands/watch.rb,
lib/browserctl/commands/record.rb,
lib/browserctl/commands/inspect.rb,
lib/browserctl/commands/snapshot.rb,
lib/browserctl/commands/open_page.rb,
lib/browserctl/commands/cli_output.rb,
lib/browserctl/commands/screenshot.rb,
lib/browserctl/server/idle_watcher.rb,
lib/browserctl/server/page_session.rb,
lib/browserctl/commands/pause_resume.rb,
lib/browserctl/server/snapshot_builder.rb,
lib/browserctl/server/command_dispatcher.rb
Defined Under Namespace
Modules: Commands
Classes: Client, CommandDispatcher, IdleWatcher, PageProxy, PageSession, ParamDef, Recording, Runner, Server, SnapshotBuilder, StepDef, StepResult, WorkflowContext, WorkflowDefinition, WorkflowError
Constant Summary
collapse
- PLUGIN_COMMANDS =
rubocop:disable Style/MutableConstant
{}
- LEVEL_MAP =
{
"debug" => ::Logger::DEBUG,
"info" => ::Logger::INFO,
"warn" => ::Logger::WARN,
"error" => ::Logger::ERROR
}.freeze
- VERSION =
"0.3.1"
- REGISTRY =
rubocop:disable Style/MutableConstant
{}
- BROWSERCTL_DIR =
File.expand_path("~/.browserctl")
- IDLE_TTL =
30 * 60
- SOCKET_PATH =
Backward-compatible constants
socket_path
- PID_PATH =
pid_path
Class Method Summary
collapse
Class Method Details
.build_logger(level_name) ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/browserctl/logger.rb', line 21
def self.build_logger(level_name)
log = ::Logger.new($stderr)
log.level = LEVEL_MAP.fetch(level_name.to_s.downcase, ::Logger::INFO)
log.progname = "browserd"
log.formatter = proc { |sev, t, prog, msg| "#{t.strftime('%Y-%m-%dT%H:%M:%S')} #{sev[0]} [#{prog}] #{msg}\n" }
log
end
|
.logger ⇒ Object
13
14
15
|
# File 'lib/browserctl/logger.rb', line 13
def self.logger
@logger ||= build_logger("info")
end
|
.logger=(instance) ⇒ Object
17
18
19
|
# File 'lib/browserctl/logger.rb', line 17
def self.logger=(instance)
@logger = instance
end
|
.pid_path(name = nil) ⇒ Object
11
12
13
|
# File 'lib/browserctl/constants.rb', line 11
def self.pid_path(name = nil)
File.join(BROWSERCTL_DIR, name ? "#{name}.pid" : "browserd.pid")
end
|
.register_command(name, &block) ⇒ Object
12
13
14
|
# File 'lib/browserctl.rb', line 12
def self.register_command(name, &block)
PLUGIN_COMMANDS[name.to_s] = block
end
|
.socket_path(name = nil) ⇒ Object
7
8
9
|
# File 'lib/browserctl/constants.rb', line 7
def self.socket_path(name = nil)
File.join(BROWSERCTL_DIR, name ? "#{name}.sock" : "browserd.sock")
end
|
.workflow(name) ⇒ Object
168
169
170
171
172
|
# File 'lib/browserctl/workflow.rb', line 168
def self.workflow(name, &)
defn = WorkflowDefinition.new(name.to_s)
defn.instance_exec(&)
REGISTRY[name.to_s] = defn
end
|