v0.5, matching JS version

This commit is contained in:
Loic Nageleisen 2013-09-30 17:17:44 +02:00
commit 68a37bd4a1
6 changed files with 123 additions and 0 deletions

1
lib/umodule-source.rb Normal file
View file

@ -0,0 +1 @@
require 'umodule/source'

13
lib/umodule/source.rb Normal file
View file

@ -0,0 +1,13 @@
module Umodule
module Source
VERSION = 0.5
def self.bundled_path
File.expand_path('../source/umodule.js', __FILE__)
end
def self.contents
@contents ||= File.read(bundled_path)
end
end
end

View file

@ -0,0 +1,70 @@
// Generated by CoffeeScript 1.6.2
/*
# umodule.js v0.5
# (c) 2013 Loic Nageleisen
# Licensed under 3-clause BSD
*/
(function() {
var Module, require, root,
__slice = [].slice;
root = typeof global !== "undefined" && global !== null ? global : window;
require = function(id) {
var item, target, _i, _len, _ref;
target = Module.root;
_ref = id.split('/');
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
item = _ref[_i];
target = target[item];
}
if (typeof target === 'undefined') {
throw new Error("module not found: " + id);
}
return target.exports;
};
Module = (function() {
function Module(id) {
this.id = id;
this.exports = {};
}
Module.define = function(target, name, block) {
var item, top, _i, _len, _ref, _ref1;
if (arguments.length < 3) {
_ref = [Module.root].concat(__slice.call(arguments)), target = _ref[0], name = _ref[1], block = _ref[2];
}
top = target;
_ref1 = name.split('/');
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
item = _ref1[_i];
target = target[item] || (target[item] = new Module(item));
}
block.call(target, target.exports, target.require, target);
return target;
};
Module.prototype.require = function() {
return require();
};
return Module;
})();
Module.root = new Module('root');
Module.root.exports = root;
Module.root.module = new Module('module');
Module.root.module.exports = Module;
root.require = require;
}).call(this);