Sha256: dd6d26cef37dbe8e99f8e9af3dba72bc86a171b69fceabedff22b3e572694a33

Contents?: true

Size: 809 Bytes

Versions: 2

Compression:

Stored size: 809 Bytes

Contents

require 'opal/compiler'
require 'opal/builder'
require 'opal/erb'
require 'opal/version'

module Kernel
  def eval(str)
    code = Opal.compile str
    `eval(#{code})`
  end
end

%x{
  Opal.compile = function(str) {
    return Opal.Opal.$compile(str);
  };

  Opal.eval = function(str) {
    return eval(Opal.compile(str));
  };

  function run_ruby_scripts() {
    var tags = document.getElementsByTagName('script');

    for (var i = 0, len = tags.length; i < len; i++) {
      if (tags[i].type === "text/ruby") {
        Opal.eval(tags[i].innerHTML);
      }
    }
  }

  if (typeof(document) !== 'undefined') {
    if (window.addEventListener) {
      window.addEventListener('DOMContentLoaded', run_ruby_scripts, false);
    }
    else {
      window.attachEvent('onload', run_ruby_scripts);
    }
  }
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
opal-0.5.5 stdlib/opal-parser.rb
opal-0.5.4 stdlib/opal-parser.rb