public/build/static/application.js
function mixin(object, source, options) {
      var chain = true,
          methodNames = source && functions(source);

      if (!source || (!options && !methodNames.length)) {
        if (options == null) {
          options = source;
        }
        source = object;
        object = lodash;
        methodNames = functions(source);
      }
      if (options === false) {
        chain = false;
      } else if (isObject(options) && 'chain' in options) {
        chain = options.chain;
      }
      var index = -1,
          isFunc = isFunction(object),
          length = methodNames ? methodNames.length : 0;

      while (++index < length) {
        var methodName = methodNames[index],
            func = object[methodName] = source[methodName];

        if (isFunc) {
          object.prototype[methodName] = (function(func) {
            return function() {
              var chainAll = this.__chain__,
                  value = this.__wrapped__,
                  args = [value];

              push.apply(args, arguments);
              var result = func.apply(object, args);
              if (chain || chainAll) {
                if (value === result && isObject(result)) {
                  return this;
                }
                result = new object(result);
                result.__chain__ = chainAll;
              }
              return result;
            };
          }(func));
        }
      }
    }
function mixin(object, source, options) {
      var chain = true,
          methodNames = source && functions(source);

      if (!source || (!options && !methodNames.length)) {
        if (options == null) {
          options = source;
        }
        source = object;
        object = lodash;
        methodNames = functions(source);
      }
      if (options === false) {
        chain = false;
      } else if (isObject(options) && 'chain' in options) {
        chain = options.chain;
      }
      var index = -1,
          isFunc = isFunction(object),
          length = methodNames ? methodNames.length : 0;

      while (++index < length) {
        var methodName = methodNames[index],
            func = object[methodName] = source[methodName];

        if (isFunc) {
          object.prototype[methodName] = (function(func) {
            return function() {
              var chainAll = this.__chain__,
                  value = this.__wrapped__,
                  args = [value];

              push.apply(args, arguments);
              var result = func.apply(object, args);
              if (chain || chainAll) {
                if (value === result && isObject(result)) {
                  return this;
                }
                result = new object(result);
                result.__chain__ = chainAll;
              }
              return result;
            };
          }(func));
        }
      }
    }
function mixin ( object , source , options ) { var chain = true , methodNames = source && functions ( source ) ; if ( ! source || ( ! options && ! methodNames . length ) ) { if ( options == null ) { options = source ; } source = object ; object = lodash ; methodNames = functions ( source ) ; } if ( options === false ) { chain = false ; } else if ( isObject ( options ) && 'chain' in options ) { chain = options . chain ; } var index = - 1 , isFunc = isFunction ( object ) , length = methodNames ? methodNames . length : 0 ; while ( ++ index < length ) { var methodName = methodNames [ index ] , func = object [ methodName ] = source [ methodName ] ; if ( isFunc ) { object . prototype [ methodName ] = ( function ( func ) { return function ( ) { var chainAll = this . __chain__ , value = this . __wrapped__ , args = [ value ] ; push . apply ( args , arguments ) ; var result = func . apply ( object , args ) ; if ( chain || chainAll ) { if ( value === result && isObject ( result ) ) { return this ; } result = new object ( result ) ; result . __chain__ = chainAll ; } return result ; } ; } ( func ) ) ; } } }
Adds function properties of a source object to the destination object.
If `object` is a function methods will be added to its prototype as well.

@static
@memberOf _
@category Utilities
@param {Function|Object} [object=lodash] object The destination object.
@param {Object} source The object of functions to add.
@param {Object} [options] The options object.
@param {boolean} [options.chain=true] Specify whether the functions added are chainable.
@example

function vowels(string) {
return _.filter(string, function(v) {
return /[aeiou]/i.test(v);
});
}

_.mixin({ 'vowels': vowels });
_.vowels('fred');
// => ['e']

_('fred').vowels().value();
// => ['e']

_.mixin({ 'vowels': vowels }, { 'chain': false });
_('fred').vowels();
// => ['e']
Adds function properties of a source object to the destination object . If object is a function methods will be added to its prototype as well .