Commit 6693dd8548a286208a3fe40a0bbe740d46e673be

Authored by Nathan Broadbent
1 parent 8a8fa3f5
Exists in master and in 1 other branch production

Renamed 'Errbit' in notifier.js to 'Hoptoad', for compatibility with hoptoad_notifier gem. [ci skip]

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