Commit 195974590b89d0ae6607bbfecda8ec71d1adcc5e

Authored by Nathan Broadbent
1 parent 5007c624
Exists in master and in 1 other branch production

Replaced "Hoptoad" with "Errbit".

Showing 1 changed file with 33 additions and 32 deletions   Show diff stats
public/javascripts/notifier.js
1   -var Hoptoad = {
  1 +var Errbit = {
2 2 VERSION : '2.0',
3 3 NOTICE_XML : '<?xml version="1.0" encoding="UTF-8"?>\
4 4 <notice version="2.0">\
5 5 <api-key></api-key>\
6 6 <notifier>\
7   - <name>hoptoad_notifier_js</name>\
  7 + <name>errbit_notifier_js</name>\
8 8 <version>2.0</version>\
9   - <url>http://hoptoadapp.com</url>\
  9 + <url>http://NOTIFIER_HOST</url>\
10 10 </notifier>\
11 11 <error>\
12 12 <class>EXCEPTION_CLASS</class>\
... ... @@ -28,8 +28,8 @@ var Hoptoad = {
28 28 backtrace_filters : [/notifier\.js/],
29 29  
30 30 notify: function(error) {
31   - var xml = escape(Hoptoad.generateXML(error));
32   - var host = Hoptoad.host || 'hoptoadapp.com';
  31 + var xml = escape(Errbit.generateXML(error));
  32 + var host = Errbit.host || 'github.com/jdpace/errbit';
33 33 var url = '//' + host + '/notifier_api/v2/notices?data=' + xml;
34 34 var request = document.createElement('iframe');
35 35  
... ... @@ -44,42 +44,42 @@ var Hoptoad = {
44 44 setEnvironment: function(value) {
45 45 var matcher = /<environment-name>.*<\/environment-name>/;
46 46  
47   - Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(matcher,
  47 + Errbit.NOTICE_XML = Errbit.NOTICE_XML.replace(matcher,
48 48 '<environment-name>' +
49 49 value +
50 50 '</environment-name>')
51 51 },
52 52  
53 53 setHost: function(value) {
54   - Hoptoad.host = value;
  54 + Errbit.host = value;
55 55 },
56 56  
57 57 setKey: function(value) {
58 58 var matcher = /<api-key>.*<\/api-key>/;
59 59  
60   - Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(matcher,
  60 + Errbit.NOTICE_XML = Errbit.NOTICE_XML.replace(matcher,
61 61 '<api-key>' +
62 62 value +
63 63 '</api-key>');
64 64 },
65 65  
66 66 setErrorDefaults: function(value) {
67   - Hoptoad.errorDefaults = value;
  67 + Errbit.errorDefaults = value;
68 68 },
69 69  
70 70 generateXML: function(errorWithoutDefaults) {
71   - var error = Hoptoad.mergeDefault(Hoptoad.errorDefaults, errorWithoutDefaults);
  71 + var error = Errbit.mergeDefault(Errbit.errorDefaults, errorWithoutDefaults);
72 72  
73   - var xml = Hoptoad.NOTICE_XML;
74   - var url = Hoptoad.escapeText(error.url || '');
75   - var component = Hoptoad.escapeText(error.component || '');
76   - var action = Hoptoad.escapeText(error.action || '');
77   - var type = Hoptoad.escapeText(error.type || 'Error');
78   - var message = Hoptoad.escapeText(error.message || 'Unknown error.');
79   - var backtrace = Hoptoad.generateBacktrace(error);
  73 + var xml = Errbit.NOTICE_XML;
  74 + var url = Errbit.escapeText(error.url || '');
  75 + var component = Errbit.escapeText(error.component || '');
  76 + var action = Errbit.escapeText(error.action || '');
  77 + var type = Errbit.escapeText(error.type || 'Error');
  78 + var message = Errbit.escapeText(error.message || 'Unknown error.');
  79 + var backtrace = Errbit.generateBacktrace(error);
80 80  
81 81  
82   - if (Hoptoad.trim(url) == '' && Hoptoad.trim(component) == '') {
  82 + if (Errbit.trim(url) == '' && Errbit.trim(component) == '') {
83 83 xml = xml.replace(/<request>.*<\/request>/, '');
84 84 } else {
85 85 var data = '';
... ... @@ -87,7 +87,7 @@ var Hoptoad = {
87 87 var cgi_data = error['cgi-data'] || {};
88 88 cgi_data["HTTP_USER_AGENT"] = navigator.userAgent;
89 89 data += '<cgi-data>';
90   - data += Hoptoad.generateVariables(cgi_data);
  90 + data += Errbit.generateVariables(cgi_data);
91 91 data += '</cgi-data>';
92 92  
93 93 var methods = ['params', 'session'];
... ... @@ -97,18 +97,19 @@ var Hoptoad = {
97 97  
98 98 if (error[type]) {
99 99 data += '<' + type + '>';
100   - data += Hoptoad.generateVariables(error[type]);
  100 + data += Errbit.generateVariables(error[type]);
101 101 data += '</' + type + '>';
102 102 }
103 103 }
104 104  
105 105 xml = xml.replace('</request>', data + '</request>')
  106 + .replace('NOTIFIER_HOST', host)
106 107 .replace('REQUEST_URL', url)
107 108 .replace('REQUEST_ACTION', action)
108 109 .replace('REQUEST_COMPONENT', component);
109 110 }
110 111  
111   - return xml.replace('PROJECT_ROOT', Hoptoad.ROOT)
  112 + return xml.replace('PROJECT_ROOT', Errbit.ROOT)
112 113 .replace('EXCEPTION_CLASS', type)
113 114 .replace('EXCEPTION_MESSAGE', message)
114 115 .replace('BACKTRACE_LINES', backtrace.join(''));
... ... @@ -126,14 +127,14 @@ var Hoptoad = {
126 127 }
127 128  
128 129 var backtrace = [];
129   - var stacktrace = Hoptoad.getStackTrace(error);
  130 + var stacktrace = Errbit.getStackTrace(error);
130 131  
131 132 for (var i = 0, l = stacktrace.length; i < l; i++) {
132 133 var line = stacktrace[i];
133   - var matches = line.match(Hoptoad.BACKTRACE_MATCHER);
  134 + var matches = line.match(Errbit.BACKTRACE_MATCHER);
134 135  
135   - if (matches && Hoptoad.validBacktraceLine(line)) {
136   - var file = matches[2].replace(Hoptoad.ROOT, '[PROJECT_ROOT]');
  136 + if (matches && Errbit.validBacktraceLine(line)) {
  137 + var file = matches[2].replace(Errbit.ROOT, '[PROJECT_ROOT]');
137 138  
138 139 if (i == 0) {
139 140 if (matches[2].match(document.location.href)) {
... ... @@ -141,8 +142,8 @@ var Hoptoad = {
141 142 }
142 143 }
143 144  
144   - backtrace.push('<line method="' + Hoptoad.escapeText(matches[1]) +
145   - '" file="' + Hoptoad.escapeText(file) +
  145 + backtrace.push('<line method="' + Errbit.escapeText(matches[1]) +
  146 + '" file="' + Errbit.escapeText(file) +
146 147 '" number="' + matches[3] + '" />');
147 148 }
148 149 }
... ... @@ -169,8 +170,8 @@ var Hoptoad = {
169 170 },
170 171  
171 172 validBacktraceLine: function(line) {
172   - for (var i = 0; i < Hoptoad.backtrace_filters.length; i++) {
173   - if (line.match(Hoptoad.backtrace_filters[i])) {
  173 + for (var i = 0; i < Errbit.backtrace_filters.length; i++) {
  174 + if (line.match(Errbit.backtrace_filters[i])) {
174 175 return false;
175 176 }
176 177 }
... ... @@ -183,8 +184,8 @@ var Hoptoad = {
183 184 var result = '';
184 185  
185 186 for (key in parameters) {
186   - result += '<var key="' + Hoptoad.escapeText(key) + '">' +
187   - Hoptoad.escapeText(parameters[key]) +
  187 + result += '<var key="' + Errbit.escapeText(key) + '">' +
  188 + Errbit.escapeText(parameters[key]) +
188 189 '</var>';
189 190 }
190 191  
... ... @@ -283,7 +284,7 @@ guessFunctionName:function(a,b){try{return this.guessFunctionNameFromLines(b,thi
283 284  
284 285 window.onerror = function(message, file, line) {
285 286 setTimeout(function() {
286   - Hoptoad.notify({
  287 + Errbit.notify({
287 288 message : message,
288 289 stack : '()@' + file + ':' + line
289 290 });
... ...