Skip to content

Instantly share code, notes, and snippets.

@yosangwon
yosangwon / runjs.rb
Created July 29, 2020 09:46
invoke javascript codes inside ruby on macos to automate macOS features
require 'open3'
require 'shellwords'
require 'json'
def runjs(script)
command = ['osascript', '-ss', '-l', 'JavaScript']
script.split(/\n/).each { |l| command.concat ['-e', l] }
output, status = Open3.capture2(command.shelljoin)
raise "osascript didn't run successfully!" unless status.success?