lib/opal/cli_runners/applescript.rb
# frozen_string_literal: true require 'opal/cli_runners/system_runner' module Opal module CliRunners class Applescript def self.call(data) unless system('which osalang > /dev/null') raise MissingJavaScriptSupport, 'JavaScript Automation is only supported by OS X Yosemite and above.' end SystemRunner.call(data) do |tempfile| tempfile.puts "'';" # OSAScript will output the last thing ['osascript', '-l', 'JavaScript', tempfile.path, *data[:argv]] end rescue Errno::ENOENT raise MissingAppleScript, 'AppleScript is only available on Mac OS X.' end class MissingJavaScriptSupport < RunnerError end class MissingAppleScript < RunnerError end end end end