// Generated by CoffeeScript 1.4.0 (function() { var autoLink, __slice = [].slice; autoLink = function() { var callbackThunk, key, link_attributes, option, options, url_pattern, value; options = 1 <= arguments.length ? __slice.call(arguments, 0) : []; link_attributes = ''; option = options[0]; url_pattern = /(^|\s)(\b(https?|ftp):\/\/[\-A-Z0-9+\u0026@#\/%?=~_|!:,.;]*[\-A-Z0-9+\u0026@#\/%=~_|])/gi; if (!(options.length > 0)) { return this.replace(url_pattern, "$1$2"); } if ((option['callback'] != null) && typeof option['callback'] === 'function') { callbackThunk = option['callback']; delete option['callback']; } for (key in option) { value = option[key]; link_attributes += " " + key + "='" + value + "'"; } return this.replace(url_pattern, function(match, space, url) { var link, returnCallback; returnCallback = callbackThunk && callbackThunk(url); link = returnCallback || ("" + url + ""); return "" + space + link; }); }; String.prototype['autoLink'] = autoLink; }).call(this);