src/boost.js
function( MyPlugin, defaults ) {

        // make sure a function has been passed in to
        // create a plugin from.
        if (typeof MyPlugin === 'function') {

            /**
             * the plugin object, inherits all attributes and methods
             * from the base plugin and the user's plugin
             *
             * @param {object} element
             * @param {object} options
             * @return {object} instance
             */
            var Plugin = function( element, options ) {
                Boilerplate.call( this, element, options || {}, defaults || {} );
                MyPlugin.call( this, element, options );
                return this;
            }
            // inherit prototype methods from MyPlugin
            Plugin.prototype = MyPlugin.prototype;
            // set constructor method to Plugin
            Plugin.prototype.constructor = Plugin;
            // set a couple static variables
            Plugin.init = Boilerplate.init;
            Plugin.instances = {};
            Plugin.defaults = defaults || {};

            /**
             * An externalized object used to initialize the plugin and
             * provides external access to plugin.
             *
             * @param {object} options
             * @return {object} instance
             */
            var Boost = function( options ) {
                return Plugin.init.call( Plugin, this, options );
            }
            // externalize a couple vars by attaching them to obj
            Boost.init = function( elems, options ) {
                return Plugin.init.call( Plugin, elems, options );
            }
            Boost.instances = Plugin.instances;
            Boost.defaults = Plugin.defaults;

            // return the Boost object
            return Boost;

        } else {

            throw '\'Boost JS\' requires a function as first paramater.';

        }

    }
function( MyPlugin, defaults ) {

        // make sure a function has been passed in to
        // create a plugin from.
        if (typeof MyPlugin === 'function') {

            /**
             * the plugin object, inherits all attributes and methods
             * from the base plugin and the user's plugin
             *
             * @param {object} element
             * @param {object} options
             * @return {object} instance
             */
            var Plugin = function( element, options ) {
                Boilerplate.call( this, element, options || {}, defaults || {} );
                MyPlugin.call( this, element, options );
                return this;
            }
            // inherit prototype methods from MyPlugin
            Plugin.prototype = MyPlugin.prototype;
            // set constructor method to Plugin
            Plugin.prototype.constructor = Plugin;
            // set a couple static variables
            Plugin.init = Boilerplate.init;
            Plugin.instances = {};
            Plugin.defaults = defaults || {};

            /**
             * An externalized object used to initialize the plugin and
             * provides external access to plugin.
             *
             * @param {object} options
             * @return {object} instance
             */
            var Boost = function( options ) {
                return Plugin.init.call( Plugin, this, options );
            }
            // externalize a couple vars by attaching them to obj
            Boost.init = function( elems, options ) {
                return Plugin.init.call( Plugin, elems, options );
            }
            Boost.instances = Plugin.instances;
            Boost.defaults = Plugin.defaults;

            // return the Boost object
            return Boost;

        } else {

            throw '\'Boost JS\' requires a function as first paramater.';

        }

    }
function ( MyPlugin , defaults ) { // make sure a function has been passed in to // create a plugin from. if ( typeof MyPlugin === 'function' ) { /**
             * the plugin object, inherits all attributes and methods
             * from the base plugin and the user's plugin
             *
             * @param {object} element
             * @param {object} options
             * @return {object} instance
             */ var Plugin = function ( element , options ) { Boilerplate . call ( this , element , options || { } , defaults || { } ) ; MyPlugin . call ( this , element , options ) ; return this ; } // inherit prototype methods from MyPlugin Plugin . prototype = MyPlugin . prototype ; // set constructor method to Plugin Plugin . prototype . constructor = Plugin ; // set a couple static variables Plugin . init = Boilerplate . init ; Plugin . instances = { } ; Plugin . defaults = defaults || { } ; /**
             * An externalized object used to initialize the plugin and
             * provides external access to plugin.
             *
             * @param {object} options
             * @return {object} instance
             */ var Boost = function ( options ) { return Plugin . init . call ( Plugin , this , options ) ; } // externalize a couple vars by attaching them to obj Boost . init = function ( elems , options ) { return Plugin . init . call ( Plugin , elems , options ) ; } Boost . instances = Plugin . instances ; Boost . defaults = Plugin . defaults ; // return the Boost object return Boost ; } else { throw '\'Boost JS\' requires a function as first paramater.' ; } }
Creates a new plugin

@param {object} MyPlugin Class from which plugin will be created
@param {object} defaults Default settings for this plugin
@return {object} instance
Creates a new plugin