Class: Browserctl::CommandDispatcher
- Inherits:
-
Object
- Object
- Browserctl::CommandDispatcher
- Defined in:
- lib/browserctl/server/command_dispatcher.rb
Constant Summary collapse
- COMMAND_MAP =
{ "open_page" => :cmd_open_page, "close_page" => :cmd_close_page, "list_pages" => :cmd_list_pages, "goto" => :cmd_goto, "snapshot" => :cmd_snapshot, "evaluate" => :cmd_evaluate, "fill" => :cmd_fill, "click" => :cmd_click, "screenshot" => :cmd_screenshot, "wait_for" => :cmd_wait_for, "url" => :cmd_url, "ping" => :cmd_ping, "shutdown" => :cmd_shutdown }.freeze
Instance Method Summary collapse
- #dispatch(req) ⇒ Object
-
#initialize(pages, browser, snapshot_builder = SnapshotBuilder.new, mutex: Mutex.new) ⇒ CommandDispatcher
constructor
A new instance of CommandDispatcher.
Constructor Details
#initialize(pages, browser, snapshot_builder = SnapshotBuilder.new, mutex: Mutex.new) ⇒ CommandDispatcher
Returns a new instance of CommandDispatcher.
23 24 25 26 27 28 |
# File 'lib/browserctl/server/command_dispatcher.rb', line 23 def initialize(pages, browser, snapshot_builder = SnapshotBuilder.new, mutex: Mutex.new) @pages = pages @browser = browser @snapshot = snapshot_builder @mutex = mutex end |
Instance Method Details
#dispatch(req) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/browserctl/server/command_dispatcher.rb', line 30 def dispatch(req) handler = COMMAND_MAP[req[:cmd]] return { error: "unknown command: #{req[:cmd]}" } unless handler send(handler, req) end |