Sha256: 91015872ed8b31b4d3654cac4c2d19ea1165cb42f45b83d8b20076be94877f32

Contents?: true

Size: 739 Bytes

Versions: 14

Compression:

Stored size: 739 Bytes

Contents

# frozen_string_literal: true

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

14 entries across 14 versions & 1 rubygems

Version Path
opal-1.4.1 lib/opal/cli_runners/applescript.rb
opal-1.4.0 lib/opal/cli_runners/applescript.rb
opal-1.4.0.alpha1 lib/opal/cli_runners/applescript.rb
opal-1.3.2 lib/opal/cli_runners/applescript.rb
opal-1.3.1 lib/opal/cli_runners/applescript.rb
opal-1.3.0 lib/opal/cli_runners/applescript.rb
opal-1.3.0.rc1 lib/opal/cli_runners/applescript.rb
opal-1.3.0.alpha1 lib/opal/cli_runners/applescript.rb
opal-1.2.0 lib/opal/cli_runners/applescript.rb
opal-1.2.0.beta1 lib/opal/cli_runners/applescript.rb
opal-1.1.1 lib/opal/cli_runners/applescript.rb
opal-1.1.1.rc1 lib/opal/cli_runners/applescript.rb
opal-1.1.0 lib/opal/cli_runners/applescript.rb
opal-1.1.0.rc1 lib/opal/cli_runners/applescript.rb