# This will add underscore.string methods to Underscore.js # except for include, contains, reverse and join that are # dropped because they collide with the functions already # defined by Underscore.js. mixin = (obj) -> _.each _.functions(obj), (name) -> if not _[name] and not _.prototype[name]? func = _[name] = obj[name] _.prototype[name] = -> args = [this._wrapped] push.apply(args, arguments) return result.call(this, func.apply(_, args)) mixin(s.exports())