Sha256: 5df2a502c28891a058c85c667ad33d6a9ca5a49b17c6460512dd7e739b2ac23d

Contents?: true

Size: 1.38 KB

Versions: 10

Compression:

Stored size: 1.38 KB

Contents

Smoke = {
	print: function(v) {
		// use the jquery print plugin if it is available or fall back to toString();
		return (jQuery && jQuery.print) ? jQuery.print(v) : v.toString();
	},
	
	printArguments: function(args) {    
    var a = [];
    if (args === undefined) args = '';
    if ((args && args.callee) || (args instanceof Array)) {
      for(var i = 0; i < args.length; i++) {
        a.push(Smoke.print(args[i]));
      }      
    } else {
      // Workaround for jQuery.print returning "null" when called with an empty string.
      if (!args && (typeof args == 'string')) {
        a.push('');
      } else {
        a.push(Smoke.print(args));
      }
    }
		return '(' + a.join(', ') + ')';
	},
	
	argumentsToArray: function(args) {	  
    return Array.prototype.slice.call(args);
  },
  
  compare: function(a, b) {
    if (a === b) return true;
    if (a instanceof Array) {
      if (b.length != a.length) return false;
      for (var i = 0; i < b.length; i++)
        if (!this.compare(a[i], b[i])) return false;
    } else if (a instanceof Object) {
      for (var key in a)
        if (!this.compare(a[key], b[key])) return false;
      for (var key in b)
        if (!this.compare(b[key], a[key])) return false;
    } else {
      return false;
    }
    return true;
	},
	
	compareArguments: function(a, b) {
	  return this.compare(Smoke.argumentsToArray(a), Smoke.argumentsToArray(b));
	}
};

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
screw_server-0.1.14 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.13 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.12 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.11 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.10 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.9 assets/vendor/smoke/lib/smoke.core.js
screw_server-0.1.8 assets/vendor/smoke/lib/smoke.core.js
drogus-blue-ridge-0.0.3 lib/smoke.core.js
drogus-blue-ridge-0.0.2 lib/smoke.core.js
drogus-blue-ridge-0.0.1 lib/smoke.core.js