class Opal::CliRunners::Gjs

Gjs is GNOME’s JavaScript runtime based on Mozilla SpiderMonkey

Public Class Methods

call(data) click to toggle source
# File lib/opal/cli_runners/gjs.rb, line 11
def self.call(data)
  exe = ENV['GJS_PATH'] || 'gjs'
  builder = data[:builder].call

  opts = Shellwords.shellwords(ENV['GJS_OPTS'] || '')
  opts.unshift('-m') if builder.esm?

  SystemRunner.call(data.merge(builder: -> { builder })) do |tempfile|
    [exe, *opts, tempfile.path, *data[:argv]]
  end
rescue Errno::ENOENT
  raise MissingGjs, 'Please install Gjs to be able to run Opal scripts.'
end