Sha256: 583ebf1241da71349e853011005ef2500fa82b32fb00ae0e3ba546232df1d5f1

Contents?: true

Size: 781 Bytes

Versions: 19

Compression:

Stored size: 781 Bytes

Contents

# 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

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 lib/opal/cli_runners/applescript.rb
opal-1.8.2 lib/opal/cli_runners/applescript.rb
opal-1.8.1 lib/opal/cli_runners/applescript.rb
opal-1.8.0 lib/opal/cli_runners/applescript.rb
opal-1.8.0.beta1 lib/opal/cli_runners/applescript.rb
opal-1.7.4 lib/opal/cli_runners/applescript.rb
opal-1.8.0.alpha1 lib/opal/cli_runners/applescript.rb
opal-1.7.3 lib/opal/cli_runners/applescript.rb
opal-1.7.2 lib/opal/cli_runners/applescript.rb
opal-1.7.1 lib/opal/cli_runners/applescript.rb
opal-1.7.0 lib/opal/cli_runners/applescript.rb
opal-1.7.0.rc1 lib/opal/cli_runners/applescript.rb
opal-1.6.1 lib/opal/cli_runners/applescript.rb
opal-1.6.0 lib/opal/cli_runners/applescript.rb
opal-1.6.0.rc1 lib/opal/cli_runners/applescript.rb
opal-1.6.0.alpha1 lib/opal/cli_runners/applescript.rb
opal-1.5.1 lib/opal/cli_runners/applescript.rb
opal-1.5.0 lib/opal/cli_runners/applescript.rb
opal-1.5.0.rc1 lib/opal/cli_runners/applescript.rb