lib/assets/javascripts/esphinx/lib/extensions/object.js in esphinx-rails-1.1.3 vs lib/assets/javascripts/esphinx/lib/extensions/object.js in esphinx-rails-1.1.4
- old
+ new
@@ -1,6 +1,6 @@
-//= require ./array
+//= require ./reflect
var
Iterable;
@@ -141,12 +141,12 @@
iterator,
argumentsAsArray = Array.from(arguments),
amount = 0,
callback = function(object) {
- if ($.classForName($.className(object)) ==
- classFunction) {
+ if (Reflect.constructorForName($
+ .className(object)) == classFunction) {
amount++;
}
};
classFunction = argumentsAsArray.last();
@@ -157,46 +157,19 @@
return amount == argumentsAsArray.length;
}
},
- hasAttributes: {
- value: function(object, attributes) {
- var
- amount = 0,
- argumentsAsArray = Array.from(arguments),
- researchedAttributes = argumentsAsArray
- .slice(1, argumentsAsArray.length);
-
- attributes = $.attributes(object, true);
-
- researchedAttributes.forEach(function(attribute) {
- if (attributes.includes(attribute)) {
- amount++;
- }
- });
-
- return amount == researchedAttributes.length;
+ hasAttribute: {
+ value: function(object, attributeName) {
+ return $.attributes(object, true).includes(attributeName);
}
},
implementsMethod: {
- value: function(object, methods) {
- var
- amount = 0,
- argumentsAsArray = Array.from(arguments),
- researchedMethods = argumentsAsArray
- .slice(1, argumentsAsArray.length);
-
- methods = $.methods(object);
- researchedMethods.forEach(function(method) {
- if (methods.includes(method)) {
- amount++;
- }
- });
-
- return amount == researchedMethods.length;
+ value: function(object, methodName) {
+ return $.methods(object).includes(methodName);
}
},
clone: {
value: function(object, includeNonEnumerable) {
@@ -229,21 +202,16 @@
var
pattern = /[a-zA-Z$_][^\]]+/g,
string = $.prototype.toString.call(object);
if (typeof object == "object" &&
+ // executar/verificar name ao invés de toString
$.implementsMethod(object, "toString")) {
// if implements, then calls it
string = object.toString();
}
return pattern.exec(string)[0].split(" ")[1];
- }
- },
-
- classForName: {
- value: function(name) {
- return window[name];
}
},
firstKey: {
value: function(object) {