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) {