Class: Teems::Services::SafariJsRunner
- Inherits:
-
Object
- Object
- Teems::Services::SafariJsRunner
- Defined in:
- lib/teems/services/safari_js_runner.rb
Overview
Runs JavaScript in Safari’s current tab via AppleScript
Instance Method Summary collapse
- #available? ⇒ Boolean
- #execute_js(js_code) ⇒ Object
-
#initialize(output: nil) ⇒ SafariJsRunner
constructor
A new instance of SafariJsRunner.
- #navigate(url) ⇒ Object
- #page_url ⇒ Object
- #wait_for_load(timeout: 15) ⇒ Object
Constructor Details
#initialize(output: nil) ⇒ SafariJsRunner
Returns a new instance of SafariJsRunner.
9 10 11 |
# File 'lib/teems/services/safari_js_runner.rb', line 9 def initialize(output: nil) @output = output end |
Instance Method Details
#available? ⇒ Boolean
13 |
# File 'lib/teems/services/safari_js_runner.rb', line 13 def available? = system('which', 'osascript', out: File::NULL, err: File::NULL) |
#execute_js(js_code) ⇒ Object
15 16 17 18 |
# File 'lib/teems/services/safari_js_runner.rb', line 15 def execute_js(js_code) escaped = escape_js(js_code) run_applescript(safari_js_script(escaped)) end |
#navigate(url) ⇒ Object
20 21 22 |
# File 'lib/teems/services/safari_js_runner.rb', line 20 def navigate(url) run_applescript(navigate_script(url)) end |
#page_url ⇒ Object
32 33 34 |
# File 'lib/teems/services/safari_js_runner.rb', line 32 def page_url run_applescript(page_url_script) end |