art-standard-lib
Version:
The Standard Library for JavaScript that aught to be.
86 lines (73 loc) • 1.84 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var Ruby,
hasProp = {}.hasOwnProperty;
module.exports = Ruby = (function() {
var rubyTrue;
function Ruby() {}
Ruby.rubyTrue = rubyTrue = function(a) {
return a !== void 0 && a !== null && a !== false;
};
Ruby.rubyFalse = function(a) {
return a === void 0 || a === null || a === false;
};
Ruby.rubyOr = function(a, b) {
var i, len;
if (arguments.length === 2) {
if (rubyTrue(a)) {
return a;
} else {
return b;
}
} else {
for (i = 0, len = arguments.length; i < len; i++) {
a = arguments[i];
if (rubyTrue(a)) {
break;
}
}
return a;
}
};
Ruby.rubyAnd = function(a, b) {
var i, len;
if (arguments.length === 2) {
if (rubyTrue(a)) {
return b;
} else {
return a;
}
} else {
for (i = 0, len = arguments.length; i < len; i++) {
a = arguments[i];
if (!rubyTrue(a)) {
break;
}
}
return a;
}
};
Ruby.reopenInstanceProps = function(klass, instanceProps) {
var k, results, v;
results = [];
for (k in instanceProps) {
if (!hasProp.call(instanceProps, k)) continue;
v = instanceProps[k];
results.push(klass.prototype[k] = v);
}
return results;
};
Ruby.reopenClassProps = function(klass, classProps) {
var k, results, v;
results = [];
for (k in classProps) {
if (!hasProp.call(classProps, k)) continue;
v = classProps[k];
results.push(klass[k] = v);
}
return results;
};
return Ruby;
})();
}).call(this);
//# sourceMappingURL=Ruby.js.map