dist/version/ulib-0.1.3.js
function (name, pluginObj) {
				var hasPlugin = !! (getPlugin(name)),
					i, j;

				currentPluginName = name;

				if (!hasPlugin) {
					plugins.push({
						name: name,
						obj: pluginObj
					});
					setupPlugin(plugins[plugins.length - 1]);
				} else {
					if (pluginOverride) {
						for (i = 0; i < plugins.length; i += 1) {
							if (plugins[i].name === name) {
								//	Remove events from the pubsub.
								if(pluginBindings[name]) {
									for(j = 0; j < pluginBindings[name].length; j += 1) {
										pubsub.off(pluginBindings[name][j].name, pluginBindings[name][j].func);
									}
								}

								//	Remove old plugin function, and setup new plugin
								delete plugins[i].obj;
								plugins[i].obj = pluginObj;
								setupPlugin(plugins[i]);

								return plugins[i];
							}
						}
					} else {
						handleError('PluginAlreadyExists', name);
						return false;
					}
				}

				return true;
			}
function (name, pluginObj) {
				var hasPlugin = !! (getPlugin(name)),
					i, j;

				currentPluginName = name;

				if (!hasPlugin) {
					plugins.push({
						name: name,
						obj: pluginObj
					});
					setupPlugin(plugins[plugins.length - 1]);
				} else {
					if (pluginOverride) {
						for (i = 0; i < plugins.length; i += 1) {
							if (plugins[i].name === name) {
								//	Remove events from the pubsub.
								if(pluginBindings[name]) {
									for(j = 0; j < pluginBindings[name].length; j += 1) {
										pubsub.off(pluginBindings[name][j].name, pluginBindings[name][j].func);
									}
								}

								//	Remove old plugin function, and setup new plugin
								delete plugins[i].obj;
								plugins[i].obj = pluginObj;
								setupPlugin(plugins[i]);

								return plugins[i];
							}
						}
					} else {
						handleError('PluginAlreadyExists', name);
						return false;
					}
				}

				return true;
			}
function ( name , pluginObj ) { var hasPlugin = ! ! ( getPlugin ( name ) ) , i , j ; currentPluginName = name ; if ( ! hasPlugin ) { plugins . push ( { name : name , obj : pluginObj } ) ; setupPlugin ( plugins [ plugins . length - 1 ] ) ; } else { if ( pluginOverride ) { for ( i = 0 ; i < plugins . length ; i += 1 ) { if ( plugins [ i ] . name === name ) { //	Remove events from the pubsub. if ( pluginBindings [ name ] ) { for ( j = 0 ; j < pluginBindings [ name ] . length ; j += 1 ) { pubsub . off ( pluginBindings [ name ] [ j ] . name , pluginBindings [ name ] [ j ] . func ) ; } } //	Remove old plugin function, and setup new plugin delete plugins [ i ] . obj ; plugins [ i ] . obj = pluginObj ; setupPlugin ( plugins [ i ] ) ; return plugins [ i ] ; } } } else { handleError ( 'PluginAlreadyExists' , name ) ; return false ; } } return true ; }
"Global" config object - exposed to all plugins via get and set functions in the core
Global config object - exposed to all plugins via get and set functions in the core