class ExecJS::ExternalRuntime

def initialize(options)

def initialize(options)
  @name        = options[:name]
  @command     = options[:command]
  @runner_path = options[:runner_path]
  @encoding    = options[:encoding]
  @deprecated  = !!options[:deprecated]
  @binary      = nil
  @popen_options = {}
  @popen_options[:external_encoding] = @encoding if @encoding
  @popen_options[:internal_encoding] = ::Encoding.default_internal || 'UTF-8'
  if @runner_path
    instance_eval <<~RUBY, __FILE__, __LINE__
      def compile_source(source)
        <<-RUNNER
        #{IO.read(@runner_path)}
        RUNNER
      end
    RUBY
  end
end