opal/corelib/runtime.js in opal-0.5.5 vs opal/corelib/runtime.js in opal-0.6.0
- old
+ new
@@ -612,10 +612,16 @@
while (search) {
if (search === klass) {
return true;
}
+ for (var i = 0, length = search.__inc__.length; i < length; i++) {
+ if (search.__inc__[i] == klass) {
+ return true;
+ }
+ }
+
search = search._super;
}
return false;
}
@@ -749,20 +755,29 @@
assocs = {};
hash.map = assocs;
hash.keys = keys;
- if (arguments.length == 1 && arguments[0]._isArray) {
- var args = arguments[0];
+ if (arguments.length == 1) {
+ if (arguments[0]._isArray) {
+ var args = arguments[0];
- for (var i = 0, length = args.length; i < length; i++) {
- var key = args[i][0], obj = args[i][1];
+ for (var i = 0, length = args.length; i < length; i++) {
+ var key = args[i][0], obj = args[i][1];
- if (assocs[key] == null) {
+ if (assocs[key] == null) {
+ keys.push(key);
+ }
+
+ assocs[key] = obj;
+ }
+ }
+ else {
+ var obj = arguments[0];
+ for (var key in obj) {
+ assocs[key] = obj[key];
keys.push(key);
}
-
- assocs[key] = obj;
}
}
else {
for (var i = 0, length = arguments.length; i < length; i++) {
var key = arguments[i],