From b80bd744ad873f6fc43018bc4bfb90677de167bd Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Mon, 17 Dec 2012 12:01:45 +0100 Subject: Start of GS5. --- app/assets/javascripts/vendor/jquery.condom.js | 52 ++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/assets/javascripts/vendor/jquery.condom.js (limited to 'app/assets/javascripts/vendor/jquery.condom.js') diff --git a/app/assets/javascripts/vendor/jquery.condom.js b/app/assets/javascripts/vendor/jquery.condom.js new file mode 100644 index 0000000..5d24a7e --- /dev/null +++ b/app/assets/javascripts/vendor/jquery.condom.js @@ -0,0 +1,52 @@ +/* + * jQuery Condom (Use namespaces to protect your global integrity.) + * Version 0.0.3 + * + * Copyright (c) 2011 Mario "Kuroir" Ricalde (http://kuroir.com) + * & Micha Niskin (micha@thinkminimo.com) + * Licensed jointly under the GPL and MIT licenses, + * choose which one suits your project best! + */ +(function($) { + var methods = {}; + $.ns = function(ns) { + // Define namespace if it doesn't exist. + methods[ns] = methods[ns] || {}; + + // Get reference to a namespaced jQ object + function nsfun(selector, context) { + return $(selector, context).ns(ns); + } + + // Allows you to add methods ala jQuery.fn (useful to namespace premade plugins) + nsfun.fn = methods[ns]; + + // Add a method. + nsfun.add = function(fname, fn) { + var new_funcs = typeof fname == "object" ? fname : {}; + // One method. + if (new_funcs !== fname) + new_funcs[fname] = fn; + // Group of methods. + $.each(new_funcs, function(fname, fn) { + methods[ns][fname] = function() { + fn.apply(this, arguments); + return this; + }; + }); + return this; + }; + + // Get methods. + nsfun.methods = function() { + return $.extend({}, methods[ns]); + }; + + return nsfun; + }; + // The only function that touches $.fn + $.fn.ns = function(ns) { + if (methods[ns]) $.extend(this, methods[ns]); + return this; + }; +})(jQuery); -- cgit v1.2.3