Sha256: 2dc4da22548f7844b428751e5f3432c565f1c550ca7275fda26ecc66566c1d5e

Contents?: true

Size: 957 Bytes

Versions: 3

Compression:

Stored size: 957 Bytes

Contents

require "rbconfig"

module ExecJS
  class Error < ::StandardError; end
  class RuntimeError    < Error; end
  class ProgramError    < Error; end

  autoload :ExternalRuntime,  "execjs/external_runtime"
  autoload :MustangRuntime,   "execjs/mustang_runtime"
  autoload :RubyRacerRuntime, "execjs/ruby_racer_runtime"
  autoload :RubyRhinoRuntime, "execjs/ruby_rhino_runtime"
  autoload :Runtimes,         "execjs/runtimes"

  def self.exec(source)
    runtime.exec(source)
  end

  def self.eval(source)
    runtime.eval(source)
  end

  def self.compile(source)
    runtime.compile(source)
  end

  def self.runtimes
    Runtimes.runtimes
  end

  def self.runtime
    @runtime ||= Runtimes.best_available ||
      raise(ExecJS::RuntimeError, "Could not find a JavaScript runtime")
  end

  def self.root
    @root ||= File.expand_path("../execjs", __FILE__)
  end

  def self.windows?
    @windows ||= RbConfig::CONFIG["host_os"] =~ /mswin|mingw/
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
execjs-0.3.0 lib/execjs.rb
execjs-0.2.1 lib/execjs.rb
execjs-0.2.0 lib/execjs.rb