airbrake 3.1.17 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +11 -1
- data/Rakefile +1 -1
- data/features/step_definitions/rails_application_steps.rb +0 -26
- data/lib/airbrake/configuration.rb +1 -16
- data/lib/airbrake/rails.rb +0 -2
- data/lib/airbrake/railtie.rb +0 -6
- data/lib/airbrake/version.rb +1 -1
- data/test/configuration_test.rb +0 -8
- data/test/integration.rb +0 -1
- metadata +103 -67
- checksums.yaml +0 -7
- data/features/rails_with_js_notifier.feature +0 -104
- data/lib/airbrake/rails/javascript_notifier.rb +0 -83
- data/lib/templates/javascript_notifier_configuration +0 -12
- data/lib/templates/javascript_notifier_loader +0 -6
- data/test/integration/javascript_notifier_test.rb +0 -56
data/CHANGELOG
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
Version 3.2.0 - 2014-05-23 17:37:35 -0700
|
2
|
+
===============================================================================
|
3
|
+
|
4
|
+
Ali Faiz (4):
|
5
|
+
Remove JS notifier from templates and libraries
|
6
|
+
Cleanup references to JS notifier in tests
|
7
|
+
Merge pull request #297 from airbrake/remove-js-notifier
|
8
|
+
|
9
|
+
|
1
10
|
Version 3.1.17 - 2014-05-20 21:00:25 -0700
|
2
11
|
===============================================================================
|
3
12
|
|
@@ -260,7 +269,7 @@ Hrvoje Šimić (6):
|
|
260
269
|
thread safety fix
|
261
270
|
add the secure option to the generator
|
262
271
|
fix the broken generator method call
|
263
|
-
be more careful with @template in javascript notifier
|
272
|
+
be more careful with @template in javascript notifier
|
264
273
|
update tested rails versions
|
265
274
|
|
266
275
|
Marko Šiftar (2):
|
@@ -1358,5 +1367,6 @@ Nick Quaranto (3):
|
|
1358
1367
|
|
1359
1368
|
|
1360
1369
|
|
1370
|
+
|
1361
1371
|
|
1362
1372
|
|
data/Rakefile
CHANGED
@@ -158,7 +158,7 @@ def cucumber_opts
|
|
158
158
|
|
159
159
|
case ENV["BUNDLE_GEMFILE"]
|
160
160
|
when /rails/
|
161
|
-
opts << "features/rails.feature features/
|
161
|
+
opts << "features/rails.feature features/metal.feature features/user_informer.feature"
|
162
162
|
when /rack/
|
163
163
|
opts << "features/rack.feature"
|
164
164
|
when /sinatra/
|
@@ -192,32 +192,6 @@ When /^I configure the application to filter parameter "([^\"]*)"$/ do |paramete
|
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
195
|
-
Then /^I should see the notifier JavaScript for the following:$/ do |table|
|
196
|
-
hash = table.hashes.first
|
197
|
-
host = hash['host'] || 'api.airbrake.io'
|
198
|
-
secure = hash['secure'] || false
|
199
|
-
api_key = hash['api_key']
|
200
|
-
environment = hash['environment'] || 'production'
|
201
|
-
|
202
|
-
steps %{
|
203
|
-
Then the output should contain "#{host}/javascripts/notifier.js"
|
204
|
-
And the output should contain "Airbrake.setKey('#{api_key}');"
|
205
|
-
And the output should contain "Airbrake.setHost('#{host}');"
|
206
|
-
And the output should contain "Airbrake.setEnvironment('#{environment}');"
|
207
|
-
}
|
208
|
-
end
|
209
|
-
|
210
|
-
Then /^the notifier JavaScript should provide the following errorDefaults:$/ do |table|
|
211
|
-
hash = table.hashes.first
|
212
|
-
hash.each do |key, value|
|
213
|
-
assert_matching_output("Airbrake\.setErrorDefaults.*#{key}: \"#{value}\"",all_output)
|
214
|
-
end
|
215
|
-
end
|
216
|
-
|
217
|
-
Then /^I should not see notifier JavaScript$/ do
|
218
|
-
step %{the output should not contain "script[type='text/javascript'][src$='/javascripts/notifier.js']"}
|
219
|
-
end
|
220
|
-
|
221
195
|
When /^I have set up authentication system in my app that uses "([^\"]*)"$/ do |current_user|
|
222
196
|
application_controller = File.join(rails_root, 'app', 'controllers', "application_controller.rb")
|
223
197
|
definition =
|
@@ -2,7 +2,7 @@ module Airbrake
|
|
2
2
|
# Used to set up and modify settings for the notifier.
|
3
3
|
class Configuration
|
4
4
|
|
5
|
-
OPTIONS = [:api_key, :
|
5
|
+
OPTIONS = [:api_key, :backtrace_filters, :development_environments,
|
6
6
|
:development_lookup, :environment_name, :host,
|
7
7
|
:http_open_timeout, :http_read_timeout, :ignore, :ignore_by_filters,
|
8
8
|
:ignore_user_agent, :notifier_name, :notifier_url, :notifier_version,
|
@@ -14,12 +14,6 @@ module Airbrake
|
|
14
14
|
# The API key for your project, found on the project edit form.
|
15
15
|
attr_accessor :api_key
|
16
16
|
|
17
|
-
# If you're using the Javascript notifier and would want to separate
|
18
|
-
# Javascript notifications into another Airbrake project, specify
|
19
|
-
# its APi key here.
|
20
|
-
# Defaults to #api_key (of the base project)
|
21
|
-
attr_writer :js_api_key
|
22
|
-
|
23
17
|
# The host to connect to (defaults to airbrake.io).
|
24
18
|
attr_accessor :host
|
25
19
|
|
@@ -158,7 +152,6 @@ module Airbrake
|
|
158
152
|
alias_method :use_system_ssl_cert_chain?, :use_system_ssl_cert_chain
|
159
153
|
|
160
154
|
def initialize
|
161
|
-
@js_api_key = nil
|
162
155
|
@secure = false
|
163
156
|
@use_system_ssl_cert_chain= false
|
164
157
|
@host = 'api.airbrake.io'
|
@@ -311,14 +304,6 @@ module Airbrake
|
|
311
304
|
@rescue_rake_exceptions = val
|
312
305
|
end
|
313
306
|
|
314
|
-
def js_api_key
|
315
|
-
@js_api_key || self.api_key
|
316
|
-
end
|
317
|
-
|
318
|
-
def js_notifier=(*args)
|
319
|
-
warn '[AIRBRAKE] config.js_notifier has been deprecated and has no effect. You should use <%= airbrake_javascript_notifier %> directly at the top of your layouts. Be sure to place it before all other javascript.'
|
320
|
-
end
|
321
|
-
|
322
307
|
def ca_bundle_path
|
323
308
|
if use_system_ssl_cert_chain? && File.exist?(OpenSSL::X509::DEFAULT_CERT_FILE)
|
324
309
|
OpenSSL::X509::DEFAULT_CERT_FILE
|
data/lib/airbrake/rails.rb
CHANGED
@@ -2,7 +2,6 @@ require 'airbrake'
|
|
2
2
|
require 'airbrake/rails/controller_methods'
|
3
3
|
require 'airbrake/rails/action_controller_catcher'
|
4
4
|
require 'airbrake/rails/error_lookup'
|
5
|
-
require 'airbrake/rails/javascript_notifier'
|
6
5
|
|
7
6
|
module Airbrake
|
8
7
|
module Rails
|
@@ -11,7 +10,6 @@ module Airbrake
|
|
11
10
|
ActionController::Base.send(:include, Airbrake::Rails::ActionControllerCatcher)
|
12
11
|
ActionController::Base.send(:include, Airbrake::Rails::ErrorLookup)
|
13
12
|
ActionController::Base.send(:include, Airbrake::Rails::ControllerMethods)
|
14
|
-
ActionController::Base.send(:include, Airbrake::Rails::JavascriptNotifier)
|
15
13
|
end
|
16
14
|
|
17
15
|
rails_logger = if defined?(::Rails.logger)
|
data/lib/airbrake/railtie.rb
CHANGED
@@ -41,12 +41,6 @@ module Airbrake
|
|
41
41
|
|
42
42
|
include Airbrake::Rails::ControllerMethods
|
43
43
|
end
|
44
|
-
|
45
|
-
if defined?(::ActionController::Base)
|
46
|
-
require 'airbrake/rails/javascript_notifier'
|
47
|
-
|
48
|
-
::ActionController::Base.send(:include, Airbrake::Rails::JavascriptNotifier)
|
49
|
-
end
|
50
44
|
end
|
51
45
|
end
|
52
46
|
end
|
data/lib/airbrake/version.rb
CHANGED
data/test/configuration_test.rb
CHANGED
@@ -127,14 +127,6 @@ class ConfigurationTest < Test::Unit::TestCase
|
|
127
127
|
assert_appends_value :rake_environment_filters
|
128
128
|
end
|
129
129
|
|
130
|
-
should "warn when attempting to write js_notifier" do
|
131
|
-
config = Airbrake::Configuration.new
|
132
|
-
config.
|
133
|
-
expects(:warn).
|
134
|
-
with(regexp_matches(/deprecated/i))
|
135
|
-
config.js_notifier = true
|
136
|
-
end
|
137
|
-
|
138
130
|
should "allow ignored user agents to be appended" do
|
139
131
|
assert_appends_value :ignore_user_agent
|
140
132
|
end
|
data/test/integration.rb
CHANGED
metadata
CHANGED
@@ -1,46 +1,52 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: airbrake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Airbrake
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: builder
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: multi_json
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0'
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: bourne
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: cucumber-rails
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: fakeweb
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: nokogiri
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ~>
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: rspec
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ~>
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,6 +126,7 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: sham_rack
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
@@ -118,6 +134,7 @@ dependencies:
|
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ~>
|
123
140
|
- !ruby/object:Gem::Version
|
@@ -125,6 +142,7 @@ dependencies:
|
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: json-schema
|
127
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
147
|
- - ~>
|
130
148
|
- !ruby/object:Gem::Version
|
@@ -132,6 +150,7 @@ dependencies:
|
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
135
154
|
requirements:
|
136
155
|
- - ~>
|
137
156
|
- !ruby/object:Gem::Version
|
@@ -139,6 +158,7 @@ dependencies:
|
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: capistrano
|
141
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
163
|
- - ~>
|
144
164
|
- !ruby/object:Gem::Version
|
@@ -146,6 +166,7 @@ dependencies:
|
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
149
170
|
requirements:
|
150
171
|
- - ~>
|
151
172
|
- !ruby/object:Gem::Version
|
@@ -153,62 +174,71 @@ dependencies:
|
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: aruba
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
|
-
- - '>='
|
179
|
+
- - ! '>='
|
158
180
|
- !ruby/object:Gem::Version
|
159
181
|
version: '0'
|
160
182
|
type: :development
|
161
183
|
prerelease: false
|
162
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
163
186
|
requirements:
|
164
|
-
- - '>='
|
187
|
+
- - ! '>='
|
165
188
|
- !ruby/object:Gem::Version
|
166
189
|
version: '0'
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: appraisal
|
169
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
|
-
- - '>='
|
195
|
+
- - ! '>='
|
172
196
|
- !ruby/object:Gem::Version
|
173
197
|
version: '0'
|
174
198
|
type: :development
|
175
199
|
prerelease: false
|
176
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
177
202
|
requirements:
|
178
|
-
- - '>='
|
203
|
+
- - ! '>='
|
179
204
|
- !ruby/object:Gem::Version
|
180
205
|
version: '0'
|
181
206
|
- !ruby/object:Gem::Dependency
|
182
207
|
name: rspec-rails
|
183
208
|
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
184
210
|
requirements:
|
185
|
-
- - '>='
|
211
|
+
- - ! '>='
|
186
212
|
- !ruby/object:Gem::Version
|
187
213
|
version: '0'
|
188
214
|
type: :development
|
189
215
|
prerelease: false
|
190
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
191
218
|
requirements:
|
192
|
-
- - '>='
|
219
|
+
- - ! '>='
|
193
220
|
- !ruby/object:Gem::Version
|
194
221
|
version: '0'
|
195
222
|
- !ruby/object:Gem::Dependency
|
196
223
|
name: girl_friday
|
197
224
|
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
198
226
|
requirements:
|
199
|
-
- - '>='
|
227
|
+
- - ! '>='
|
200
228
|
- !ruby/object:Gem::Version
|
201
229
|
version: '0'
|
202
230
|
type: :development
|
203
231
|
prerelease: false
|
204
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
205
234
|
requirements:
|
206
|
-
- - '>='
|
235
|
+
- - ! '>='
|
207
236
|
- !ruby/object:Gem::Version
|
208
237
|
version: '0'
|
209
238
|
- !ruby/object:Gem::Dependency
|
210
239
|
name: sucker_punch
|
211
240
|
requirement: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
212
242
|
requirements:
|
213
243
|
- - '='
|
214
244
|
- !ruby/object:Gem::Version
|
@@ -216,6 +246,7 @@ dependencies:
|
|
216
246
|
type: :development
|
217
247
|
prerelease: false
|
218
248
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
219
250
|
requirements:
|
220
251
|
- - '='
|
221
252
|
- !ruby/object:Gem::Version
|
@@ -223,62 +254,71 @@ dependencies:
|
|
223
254
|
- !ruby/object:Gem::Dependency
|
224
255
|
name: shoulda-matchers
|
225
256
|
requirement: !ruby/object:Gem::Requirement
|
257
|
+
none: false
|
226
258
|
requirements:
|
227
|
-
- - '>='
|
259
|
+
- - ! '>='
|
228
260
|
- !ruby/object:Gem::Version
|
229
261
|
version: '0'
|
230
262
|
type: :development
|
231
263
|
prerelease: false
|
232
264
|
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
233
266
|
requirements:
|
234
|
-
- - '>='
|
267
|
+
- - ! '>='
|
235
268
|
- !ruby/object:Gem::Version
|
236
269
|
version: '0'
|
237
270
|
- !ruby/object:Gem::Dependency
|
238
271
|
name: shoulda-context
|
239
272
|
requirement: !ruby/object:Gem::Requirement
|
273
|
+
none: false
|
240
274
|
requirements:
|
241
|
-
- - '>='
|
275
|
+
- - ! '>='
|
242
276
|
- !ruby/object:Gem::Version
|
243
277
|
version: '0'
|
244
278
|
type: :development
|
245
279
|
prerelease: false
|
246
280
|
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
none: false
|
247
282
|
requirements:
|
248
|
-
- - '>='
|
283
|
+
- - ! '>='
|
249
284
|
- !ruby/object:Gem::Version
|
250
285
|
version: '0'
|
251
286
|
- !ruby/object:Gem::Dependency
|
252
287
|
name: pry
|
253
288
|
requirement: !ruby/object:Gem::Requirement
|
289
|
+
none: false
|
254
290
|
requirements:
|
255
|
-
- - '>='
|
291
|
+
- - ! '>='
|
256
292
|
- !ruby/object:Gem::Version
|
257
293
|
version: '0'
|
258
294
|
type: :development
|
259
295
|
prerelease: false
|
260
296
|
version_requirements: !ruby/object:Gem::Requirement
|
297
|
+
none: false
|
261
298
|
requirements:
|
262
|
-
- - '>='
|
299
|
+
- - ! '>='
|
263
300
|
- !ruby/object:Gem::Version
|
264
301
|
version: '0'
|
265
302
|
- !ruby/object:Gem::Dependency
|
266
303
|
name: coveralls
|
267
304
|
requirement: !ruby/object:Gem::Requirement
|
305
|
+
none: false
|
268
306
|
requirements:
|
269
|
-
- - '>='
|
307
|
+
- - ! '>='
|
270
308
|
- !ruby/object:Gem::Version
|
271
309
|
version: '0'
|
272
310
|
type: :development
|
273
311
|
prerelease: false
|
274
312
|
version_requirements: !ruby/object:Gem::Requirement
|
313
|
+
none: false
|
275
314
|
requirements:
|
276
|
-
- - '>='
|
315
|
+
- - ! '>='
|
277
316
|
- !ruby/object:Gem::Version
|
278
317
|
version: '0'
|
279
318
|
- !ruby/object:Gem::Dependency
|
280
319
|
name: minitest
|
281
320
|
requirement: !ruby/object:Gem::Requirement
|
321
|
+
none: false
|
282
322
|
requirements:
|
283
323
|
- - ~>
|
284
324
|
- !ruby/object:Gem::Version
|
@@ -286,6 +326,7 @@ dependencies:
|
|
286
326
|
type: :development
|
287
327
|
prerelease: false
|
288
328
|
version_requirements: !ruby/object:Gem::Requirement
|
329
|
+
none: false
|
289
330
|
requirements:
|
290
331
|
- - ~>
|
291
332
|
- !ruby/object:Gem::Version
|
@@ -297,42 +338,12 @@ executables:
|
|
297
338
|
extensions: []
|
298
339
|
extra_rdoc_files: []
|
299
340
|
files:
|
300
|
-
- CHANGELOG
|
301
|
-
- Gemfile
|
302
|
-
- Guardfile
|
303
|
-
- INSTALL
|
304
|
-
- LICENSE
|
305
|
-
- README.md
|
306
|
-
- README_FOR_HEROKU_ADDON.md
|
307
|
-
- Rakefile
|
308
|
-
- TESTED_AGAINST
|
309
|
-
- airbrake.gemspec
|
310
|
-
- bin/airbrake
|
311
|
-
- features/metal.feature
|
312
|
-
- features/rack.feature
|
313
|
-
- features/rails.feature
|
314
|
-
- features/rails_with_js_notifier.feature
|
315
|
-
- features/rake.feature
|
316
|
-
- features/sinatra.feature
|
317
|
-
- features/step_definitions/file_steps.rb
|
318
|
-
- features/step_definitions/rack_steps.rb
|
319
|
-
- features/step_definitions/rails_application_steps.rb
|
320
|
-
- features/step_definitions/rake_steps.rb
|
321
|
-
- features/support/airbrake_shim.rb.template
|
322
|
-
- features/support/aruba.rb
|
323
|
-
- features/support/env.rb
|
324
|
-
- features/support/matchers.rb
|
325
|
-
- features/support/rails.rb
|
326
|
-
- features/support/rake/Rakefile
|
327
|
-
- features/user_informer.feature
|
328
341
|
- generators/airbrake/airbrake_generator.rb
|
329
342
|
- generators/airbrake/lib/insert_commands.rb
|
330
343
|
- generators/airbrake/lib/rake_commands.rb
|
331
344
|
- generators/airbrake/templates/airbrake_tasks.rake
|
332
345
|
- generators/airbrake/templates/capistrano_hook.rb
|
333
346
|
- generators/airbrake/templates/initializer.rb
|
334
|
-
- install.rb
|
335
|
-
- lib/airbrake.rb
|
336
347
|
- lib/airbrake/backtrace.rb
|
337
348
|
- lib/airbrake/capistrano.rb
|
338
349
|
- lib/airbrake/capistrano3.rb
|
@@ -347,12 +358,11 @@ files:
|
|
347
358
|
- lib/airbrake/jobs/send_job.rb
|
348
359
|
- lib/airbrake/notice.rb
|
349
360
|
- lib/airbrake/rack.rb
|
350
|
-
- lib/airbrake/rails.rb
|
351
361
|
- lib/airbrake/rails/action_controller_catcher.rb
|
352
362
|
- lib/airbrake/rails/controller_methods.rb
|
353
363
|
- lib/airbrake/rails/error_lookup.rb
|
354
|
-
- lib/airbrake/rails/javascript_notifier.rb
|
355
364
|
- lib/airbrake/rails/middleware.rb
|
365
|
+
- lib/airbrake/rails.rb
|
356
366
|
- lib/airbrake/rails3_tasks.rb
|
357
367
|
- lib/airbrake/railtie.rb
|
358
368
|
- lib/airbrake/rake_handler.rb
|
@@ -360,32 +370,41 @@ files:
|
|
360
370
|
- lib/airbrake/sender.rb
|
361
371
|
- lib/airbrake/shared_tasks.rb
|
362
372
|
- lib/airbrake/sinatra.rb
|
363
|
-
- lib/airbrake/tasks.rb
|
364
373
|
- lib/airbrake/tasks/airbrake.cap
|
374
|
+
- lib/airbrake/tasks.rb
|
365
375
|
- lib/airbrake/user_informer.rb
|
366
376
|
- lib/airbrake/utils/params_cleaner.rb
|
367
377
|
- lib/airbrake/utils/rack_filters.rb
|
368
378
|
- lib/airbrake/version.rb
|
379
|
+
- lib/airbrake.rb
|
369
380
|
- lib/airbrake_tasks.rb
|
370
381
|
- lib/rails/generators/airbrake/airbrake_generator.rb
|
371
|
-
- lib/templates/javascript_notifier_configuration
|
372
|
-
- lib/templates/javascript_notifier_loader
|
373
382
|
- lib/templates/rescue.erb
|
374
383
|
- rails/init.rb
|
375
|
-
- resources/README.md
|
376
384
|
- resources/airbrake_3_0.json
|
377
385
|
- resources/ca-bundle.crt
|
378
386
|
- resources/notice.xml
|
387
|
+
- resources/README.md
|
379
388
|
- script/integration_test.rb
|
389
|
+
- airbrake.gemspec
|
390
|
+
- CHANGELOG
|
391
|
+
- Gemfile
|
392
|
+
- Guardfile
|
393
|
+
- INSTALL
|
394
|
+
- LICENSE
|
395
|
+
- Rakefile
|
396
|
+
- README_FOR_HEROKU_ADDON.md
|
397
|
+
- README.md
|
398
|
+
- TESTED_AGAINST
|
399
|
+
- install.rb
|
380
400
|
- test/airbrake_tasks_test.rb
|
381
401
|
- test/backtrace_test.rb
|
382
402
|
- test/capistrano_test.rb
|
383
403
|
- test/configuration_test.rb
|
384
404
|
- test/controller_methods_test.rb
|
385
405
|
- test/helper.rb
|
386
|
-
- test/integration.rb
|
387
406
|
- test/integration/catcher_test.rb
|
388
|
-
- test/integration
|
407
|
+
- test/integration.rb
|
389
408
|
- test/logger_test.rb
|
390
409
|
- test/notice_test.rb
|
391
410
|
- test/notifier_test.rb
|
@@ -397,28 +416,46 @@ files:
|
|
397
416
|
- test/sender_test.rb
|
398
417
|
- test/support/response_shim.xml
|
399
418
|
- test/user_informer_test.rb
|
419
|
+
- features/metal.feature
|
420
|
+
- features/rack.feature
|
421
|
+
- features/rails.feature
|
422
|
+
- features/rake.feature
|
423
|
+
- features/sinatra.feature
|
424
|
+
- features/step_definitions/file_steps.rb
|
425
|
+
- features/step_definitions/rack_steps.rb
|
426
|
+
- features/step_definitions/rails_application_steps.rb
|
427
|
+
- features/step_definitions/rake_steps.rb
|
428
|
+
- features/support/airbrake_shim.rb.template
|
429
|
+
- features/support/aruba.rb
|
430
|
+
- features/support/env.rb
|
431
|
+
- features/support/matchers.rb
|
432
|
+
- features/support/rails.rb
|
433
|
+
- features/support/rake/Rakefile
|
434
|
+
- features/user_informer.feature
|
435
|
+
- bin/airbrake
|
400
436
|
homepage: http://www.airbrake.io
|
401
437
|
licenses: []
|
402
|
-
metadata: {}
|
403
438
|
post_install_message:
|
404
439
|
rdoc_options: []
|
405
440
|
require_paths:
|
406
441
|
- lib
|
407
442
|
required_ruby_version: !ruby/object:Gem::Requirement
|
443
|
+
none: false
|
408
444
|
requirements:
|
409
|
-
- - '>='
|
445
|
+
- - ! '>='
|
410
446
|
- !ruby/object:Gem::Version
|
411
447
|
version: '0'
|
412
448
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
449
|
+
none: false
|
413
450
|
requirements:
|
414
|
-
- - '>='
|
451
|
+
- - ! '>='
|
415
452
|
- !ruby/object:Gem::Version
|
416
453
|
version: '0'
|
417
454
|
requirements: []
|
418
455
|
rubyforge_project:
|
419
|
-
rubygems_version:
|
456
|
+
rubygems_version: 1.8.24
|
420
457
|
signing_key:
|
421
|
-
specification_version:
|
458
|
+
specification_version: 3
|
422
459
|
summary: Send your application errors to our hosted service and reclaim your inbox.
|
423
460
|
test_files:
|
424
461
|
- test/airbrake_tasks_test.rb
|
@@ -428,7 +465,6 @@ test_files:
|
|
428
465
|
- test/controller_methods_test.rb
|
429
466
|
- test/helper.rb
|
430
467
|
- test/integration/catcher_test.rb
|
431
|
-
- test/integration/javascript_notifier_test.rb
|
432
468
|
- test/integration.rb
|
433
469
|
- test/logger_test.rb
|
434
470
|
- test/notice_test.rb
|
@@ -444,7 +480,6 @@ test_files:
|
|
444
480
|
- features/metal.feature
|
445
481
|
- features/rack.feature
|
446
482
|
- features/rails.feature
|
447
|
-
- features/rails_with_js_notifier.feature
|
448
483
|
- features/rake.feature
|
449
484
|
- features/sinatra.feature
|
450
485
|
- features/step_definitions/file_steps.rb
|
@@ -458,3 +493,4 @@ test_files:
|
|
458
493
|
- features/support/rails.rb
|
459
494
|
- features/support/rake/Rakefile
|
460
495
|
- features/user_informer.feature
|
496
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: dfc2885576a30927690a4535d69e4ca351010c80
|
4
|
-
data.tar.gz: d46ef484b70f08951c33fff46079c8a08317c2be
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 2194af5fb0d2c3610728f6ddcacc260aa366d6b30e4311c452ff8f54815f43b71aa05c632bef75d3ff447c40a2d45399393d40a4b21c09d30234db6ad3423def
|
7
|
-
data.tar.gz: 736d7e758269212bbdbb0440c1aa8d436489f16de8813aa8b3778efad5ad0dbe9be69494514e9b18b20d1c07fa2a149af58630f24b22efb5ce229db3ad6d053d
|
@@ -1,104 +0,0 @@
|
|
1
|
-
Feature: Install the Gem in a Rails application and enable the JavaScript notifier
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given I successfully run `rails new rails_root -O --skip-gemfile`
|
5
|
-
And I cd to "rails_root"
|
6
|
-
And I configure the Airbrake shim
|
7
|
-
|
8
|
-
Scenario: Include the Javascript notifier when enabled
|
9
|
-
When I configure the notifier to use the following configuration lines:
|
10
|
-
"""
|
11
|
-
config.api_key = "myapikey"
|
12
|
-
"""
|
13
|
-
And I define a response for "TestController#index":
|
14
|
-
"""
|
15
|
-
render :inline => '<html><head profile="http://example.com"><%= airbrake_javascript_notifier %></head><body></body></html>'
|
16
|
-
"""
|
17
|
-
And I route "/test/index" to "test#index"
|
18
|
-
And I perform a request to "http://example.com:123/test/index" in the "production" environment
|
19
|
-
Then I should see the notifier JavaScript for the following:
|
20
|
-
| api_key | environment | host |
|
21
|
-
| myapikey | production | api.airbrake.io |
|
22
|
-
And the notifier JavaScript should provide the following errorDefaults:
|
23
|
-
| url | component | action |
|
24
|
-
| http://example.com:123/test/index | test | index |
|
25
|
-
|
26
|
-
Scenario: Include the Javascript notifier when enabled using custom configuration settings
|
27
|
-
When I configure the notifier to use the following configuration lines:
|
28
|
-
"""
|
29
|
-
config.development_environments = []
|
30
|
-
config.api_key = "myapikey!"
|
31
|
-
config.host = "myairbrake.com"
|
32
|
-
config.port = 3001
|
33
|
-
"""
|
34
|
-
And I define a response for "TestController#index":
|
35
|
-
"""
|
36
|
-
render :inline => '<html><head><%= airbrake_javascript_notifier %></head><body></body></html>'
|
37
|
-
"""
|
38
|
-
And I route "/test/index" to "test#index"
|
39
|
-
And I perform a request to "http://example.com:123/test/index"
|
40
|
-
Then I should see the notifier JavaScript for the following:
|
41
|
-
| api_key | environment | host |
|
42
|
-
| myapikey! | test | myairbrake.com:3001 |
|
43
|
-
|
44
|
-
Scenario: Don't include the Javascript notifier by default
|
45
|
-
When I configure the notifier to use the following configuration lines:
|
46
|
-
"""
|
47
|
-
config.api_key = "myapikey!"
|
48
|
-
"""
|
49
|
-
And I define a response for "TestController#index":
|
50
|
-
"""
|
51
|
-
render :inline => "<html><head></head><body></body></html>"
|
52
|
-
"""
|
53
|
-
And I route "/test/index" to "test#index"
|
54
|
-
And I perform a request to "http://example.com:123/test/index"
|
55
|
-
Then I should not see notifier JavaScript
|
56
|
-
|
57
|
-
Scenario: Don't include the Javascript notifier when enabled in non-public environments
|
58
|
-
When I configure the notifier to use the following configuration lines:
|
59
|
-
"""
|
60
|
-
config.api_key = "myapikey!"
|
61
|
-
config.environment_name = 'test'
|
62
|
-
"""
|
63
|
-
And I define a response for "TestController#index":
|
64
|
-
"""
|
65
|
-
render :inline => '<html><head><%= airbrake_javascript_notifier %></head><body></body></html>'
|
66
|
-
"""
|
67
|
-
And I route "/test/index" to "test#index"
|
68
|
-
And I perform a request to "http://example.com:123/test/index" in the "test" environment
|
69
|
-
Then I should not see notifier JavaScript
|
70
|
-
|
71
|
-
Scenario: Use the js_api_key if present
|
72
|
-
When I configure the notifier to use the following configuration lines:
|
73
|
-
"""
|
74
|
-
config.api_key = "myapikey!"
|
75
|
-
config.js_api_key = "myjsapikey!"
|
76
|
-
"""
|
77
|
-
And I define a response for "TestController#index":
|
78
|
-
"""
|
79
|
-
render :inline => '<html><head><%= airbrake_javascript_notifier %></head><body></body></html>'
|
80
|
-
"""
|
81
|
-
And I route "/test/index" to "test#index"
|
82
|
-
And I perform a request to "http://example.com:123/test/index" in the "production" environment
|
83
|
-
Then I should see the notifier JavaScript for the following:
|
84
|
-
| api_key | environment | host |
|
85
|
-
| myjsapikey! | production | api.airbrake.io |
|
86
|
-
|
87
|
-
Scenario: Being careful with user's instance variables
|
88
|
-
When I configure the notifier to use the following configuration lines:
|
89
|
-
"""
|
90
|
-
config.api_key = "myapikey"
|
91
|
-
"""
|
92
|
-
And I define a response for "TestController#index":
|
93
|
-
"""
|
94
|
-
@template = "this is some random instance variable"
|
95
|
-
render :inline => '<html><head><%= airbrake_javascript_notifier %></head><body></body></html>'
|
96
|
-
"""
|
97
|
-
And I route "/test/index" to "test#index"
|
98
|
-
And I perform a request to "http://example.com:123/test/index" in the "production" environment
|
99
|
-
Then I should see the notifier JavaScript for the following:
|
100
|
-
| api_key | environment | host |
|
101
|
-
| myapikey | production | api.airbrake.io |
|
102
|
-
And the notifier JavaScript should provide the following errorDefaults:
|
103
|
-
| url | component | action |
|
104
|
-
| http://example.com:123/test/index | test | index |
|
@@ -1,83 +0,0 @@
|
|
1
|
-
module Airbrake
|
2
|
-
module Rails
|
3
|
-
module JavascriptNotifier
|
4
|
-
def self.included(base) #:nodoc:
|
5
|
-
base.send :helper_method, :airbrake_javascript_notifier
|
6
|
-
base.send :helper_method, :airbrake_javascript_loader
|
7
|
-
base.send :helper_method, :airbrake_javascript_configuration
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def airbrake_javascript_notifier
|
13
|
-
if Airbrake.configuration.public?
|
14
|
-
airbrake_javascript_loader + airbrake_javascript_configuration
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def airbrake_javascript_loader
|
19
|
-
if Airbrake.configuration.public?
|
20
|
-
path = File.join File.dirname(__FILE__), '..', '..', 'templates', 'javascript_notifier_loader'
|
21
|
-
|
22
|
-
_airbrake_render_part path
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def airbrake_javascript_configuration
|
27
|
-
if Airbrake.configuration.public?
|
28
|
-
path = File.join File.dirname(__FILE__), '..', '..', 'templates', 'javascript_notifier_configuration'
|
29
|
-
|
30
|
-
options = {
|
31
|
-
:api_key => Airbrake.configuration.js_api_key,
|
32
|
-
:environment => Airbrake.configuration.environment_name,
|
33
|
-
:action_name => action_name,
|
34
|
-
:controller_name => controller_name,
|
35
|
-
:url => request.url
|
36
|
-
}
|
37
|
-
|
38
|
-
_airbrake_render_part path, options
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
protected
|
43
|
-
attr_reader :template
|
44
|
-
|
45
|
-
def _airbrake_render_part(path, locals={})
|
46
|
-
locals[:host] = _airbrake_host
|
47
|
-
|
48
|
-
options = {
|
49
|
-
:file => path,
|
50
|
-
:layout => false,
|
51
|
-
:use_full_path => false,
|
52
|
-
:handlers => [:erb],
|
53
|
-
:locals => locals
|
54
|
-
}
|
55
|
-
|
56
|
-
result = _airbrake_render_template options
|
57
|
-
|
58
|
-
if result.respond_to?(:html_safe)
|
59
|
-
result.html_safe
|
60
|
-
else
|
61
|
-
result
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def _airbrake_render_template(options)
|
66
|
-
case template
|
67
|
-
when ActionView::Template
|
68
|
-
template.render options
|
69
|
-
else
|
70
|
-
render_to_string options
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
def _airbrake_host
|
75
|
-
host = Airbrake.configuration.host.dup
|
76
|
-
port = Airbrake.configuration.port
|
77
|
-
host << ":#{port}" unless [80, 443].include?(port)
|
78
|
-
|
79
|
-
host
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<%= javascript_tag %Q{
|
2
|
-
try {
|
3
|
-
window.Airbrake = (typeof(Airbrake) == 'undefined' && typeof(Hoptoad) != 'undefined') ? Hoptoad : Airbrake
|
4
|
-
Airbrake.setKey('#{api_key}');
|
5
|
-
Airbrake.setHost('#{host}');
|
6
|
-
Airbrake.setEnvironment('#{environment}');
|
7
|
-
Airbrake.setErrorDefaults({ url: "#{escape_javascript url}", component: "#{controller_name}", action: "#{action_name}" });
|
8
|
-
} catch (e) {
|
9
|
-
window.onerror = null;
|
10
|
-
}
|
11
|
-
}
|
12
|
-
%>
|
@@ -1,6 +0,0 @@
|
|
1
|
-
<%= javascript_tag %Q{
|
2
|
-
(function(){
|
3
|
-
var notifierJsScheme = (("https:" == document.location.protocol) ? "https://" : "http://");
|
4
|
-
document.write(unescape("%3Cscript src='" + notifierJsScheme + "#{host}/javascripts/notifier.js' type='text/javascript'%3E%3C/script%3E"));
|
5
|
-
})();
|
6
|
-
}%>
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'airbrake/rails/javascript_notifier'
|
2
|
-
require 'ostruct'
|
3
|
-
|
4
|
-
class JavascriptNotifierTest < Test::Unit::TestCase
|
5
|
-
module FakeRenderer
|
6
|
-
def javascript_tag(text)
|
7
|
-
"<script>#{text}</script>"
|
8
|
-
end
|
9
|
-
def escape_javascript(text)
|
10
|
-
"ESC#{text}ESC"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class FakeController
|
15
|
-
def self.helper_method(*args)
|
16
|
-
end
|
17
|
-
|
18
|
-
include Airbrake::Rails::JavascriptNotifier
|
19
|
-
|
20
|
-
def action_name
|
21
|
-
"action"
|
22
|
-
end
|
23
|
-
|
24
|
-
def controller_name
|
25
|
-
"controller"
|
26
|
-
end
|
27
|
-
|
28
|
-
def request
|
29
|
-
@request ||= OpenStruct.new
|
30
|
-
end
|
31
|
-
|
32
|
-
def render_to_string(options)
|
33
|
-
context = OpenStruct.new(options[:locals])
|
34
|
-
context.extend(FakeRenderer)
|
35
|
-
context.instance_eval do
|
36
|
-
erb = ERB.new(IO.read(options[:file]))
|
37
|
-
erb.result(binding)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
should "make sure escape_javacript is called on the request.url" do
|
43
|
-
Airbrake.configure do
|
44
|
-
end
|
45
|
-
controller = FakeController.new
|
46
|
-
controller.request.url = "bad_javascript"
|
47
|
-
assert controller.send(:airbrake_javascript_notifier)['"ESCbad_javascriptESC"']
|
48
|
-
assert ! controller.send(:airbrake_javascript_notifier)['"bad_javascript"']
|
49
|
-
end
|
50
|
-
|
51
|
-
should "not raise exceptions for the non-public requests" do
|
52
|
-
Airbrake::Configuration.any_instance.stubs(:public? => false)
|
53
|
-
controller = FakeController.new
|
54
|
-
assert_nothing_raised { controller.send(:airbrake_javascript_notifier) }
|
55
|
-
end
|
56
|
-
end
|