Class: Browserctl::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/browserctl/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(socket_path = SOCKET_PATH) ⇒ Client

Returns a new instance of Client.



9
10
11
# File 'lib/browserctl/client.rb', line 9

def initialize(socket_path = SOCKET_PATH)
  @socket_path = socket_path
end

Instance Method Details

#call(cmd, **params) ⇒ Object



13
14
15
16
17
# File 'lib/browserctl/client.rb', line 13

def call(cmd, **params)
  communicate(JSON.generate({ cmd: cmd }.merge(params)))
rescue Errno::ENOENT, Errno::ECONNREFUSED
  raise "browserd is not running — start it with: browserd"
end

#click(name, selector) ⇒ Object



26
# File 'lib/browserctl/client.rb', line 26

def click(name, selector)      = call("click",       name: name, selector: selector)

#close_page(name) ⇒ Object



22
# File 'lib/browserctl/client.rb', line 22

def close_page(name)           = call("close_page", name: name)

#evaluate(name, expression) ⇒ Object



31
# File 'lib/browserctl/client.rb', line 31

def evaluate(name, expression) = call("evaluate",    name: name, expression: expression)

#fill(name, selector, val) ⇒ Object



25
# File 'lib/browserctl/client.rb', line 25

def fill(name, selector, val)  = call("fill",        name: name, selector: selector, value: val)

#goto(name, url) ⇒ Object



24
# File 'lib/browserctl/client.rb', line 24

def goto(name, url)            = call("goto",        name: name, url: url)

#list_pagesObject



23
# File 'lib/browserctl/client.rb', line 23

def list_pages                 = call("list_pages")

#open_page(name, url: nil) ⇒ Object

Convenience wrappers matching CLI command vocabulary



21
# File 'lib/browserctl/client.rb', line 21

def open_page(name, url: nil)  = call("open_page",  name: name, url: url)

#pingObject



32
# File 'lib/browserctl/client.rb', line 32

def ping                       = call("ping")

#screenshot(name, path: nil, full: false) ⇒ Object



27
# File 'lib/browserctl/client.rb', line 27

def screenshot(name, path: nil, full: false) = call("screenshot", name: name, path: path, full: full)

#shutdownObject



33
# File 'lib/browserctl/client.rb', line 33

def shutdown                   = call("shutdown")

#snapshot(name, format: "ai") ⇒ Object



28
# File 'lib/browserctl/client.rb', line 28

def snapshot(name, format: "ai")             = call("snapshot",   name: name, format: format)

#url(name) ⇒ Object



30
# File 'lib/browserctl/client.rb', line 30

def url(name)                  = call("url",         name: name)

#wait_for(name, selector, timeout: 10) ⇒ Object



29
# File 'lib/browserctl/client.rb', line 29

def wait_for(name, selector, timeout: 10)    = call("wait_for",   name: name, selector: selector, timeout: timeout)