rollbar 2.4.0 → 2.5.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.
@@ -67,10 +67,9 @@ describe HomeController do
67
67
  }
68
68
 
69
69
  filtered = controller.send( :rollbar_headers, headers )
70
- filtered.should == {
71
- "Authorization" => "*********",
72
- "User-Agent" => "spec"
73
- }
70
+
71
+ expect(filtered['Authorization']).to match(/\**/)
72
+ expect(filtered['User-Agent']).to be_eql('spec')
74
73
  end
75
74
 
76
75
  it 'should filter custom headers' do
@@ -85,11 +84,9 @@ describe HomeController do
85
84
  }
86
85
 
87
86
  filtered = controller.send( :rollbar_headers, headers )
88
- filtered.should == {
89
- "Auth" => "**********",
90
- "Token" => "***********",
91
- "Content-Type" => "text/html"
92
- }
87
+ expect(filtered['Auth']).to match(/\**/)
88
+ expect(filtered['Token']).to match(/\**/)
89
+ expect(filtered['Content-Type']).to be_eql('text/html')
93
90
  end
94
91
 
95
92
  end
@@ -188,11 +185,11 @@ describe HomeController do
188
185
 
189
186
  filtered = Rollbar.last_report[:request][:params]
190
187
 
191
- filtered["passwd"].should == "******"
192
- filtered["password"].should == "******"
193
- filtered["secret"].should == "******"
194
- filtered["notpass"].should == "visible"
195
- filtered["secret_token"].should == "*" * 32
188
+ expect(filtered["passwd"]).to match(/\**/)
189
+ expect(filtered["password"]).to match(/\**/)
190
+ expect(filtered["secret"]).to match(/\**/)
191
+ expect(filtered["notpass"]).to match(/\**/)
192
+ expect(filtered["secret_token"]).to match(/\**/)
196
193
  end
197
194
 
198
195
  it "should scrub custom scrub_fields" do
@@ -214,9 +211,9 @@ describe HomeController do
214
211
  filtered["passwd"].should == "visible"
215
212
  # config.filter_parameters is set to [:password] in
216
213
  # spec/dummyapp/config/application.rb
217
- filtered["password"].should == "*******"
218
- filtered["secret"].should == "******"
219
- filtered["notpass"].should == "******"
214
+ expect(filtered["password"]).to match(/\**/)
215
+ expect(filtered["secret"]).to match(/\**/)
216
+ expect(filtered["notpass"]).to match(/\**/)
220
217
  end
221
218
  end
222
219
 
@@ -391,6 +388,30 @@ describe HomeController do
391
388
  end
392
389
  end
393
390
 
391
+ context 'with params to be scrubed from URL', :type => :request do
392
+ next unless Rollbar::LanguageSupport.can_scrub_url?
393
+
394
+ before do
395
+ Rollbar.configure do |config|
396
+ config.scrub_fields = [:password]
397
+ end
398
+ end
399
+
400
+ let(:headers) do
401
+ {
402
+ 'ORIGINAL_FULLPATH' => '/cause_exception?password=my-secret-password'
403
+ }
404
+ end
405
+
406
+ it 'scrubs sensible data from URL' do
407
+ expect { get '/cause_exception', { :password => 'my-secret-password' }, headers }.to raise_exception
408
+
409
+ request_data = Rollbar.last_report[:request]
410
+
411
+ expect(request_data[:url]).to match('http:\/\/www.example.com\/cause_exception\?password=\*{3,8}')
412
+ end
413
+ end
414
+
394
415
  after(:each) do
395
416
  Rollbar.configure do |config|
396
417
  config.logger = ::Rails.logger
@@ -24,6 +24,11 @@ module MultiJson
24
24
  end
25
25
  end
26
26
 
27
+ module MissingCustomOptions
28
+ # Consider the fact that there's MultiJson::Adapters::Yajl but not
29
+ # Rollbar::JSON::Yajl, it should not look for ::Yajl but only
30
+ # Rollbar::JSON::Yajl.
31
+ end
27
32
 
28
33
  describe Rollbar::JSON do
29
34
  let(:payload) do
@@ -0,0 +1,61 @@
1
+ require 'spec_helper'
2
+ require 'rack/mock'
3
+
4
+ require 'rollbar/request_data_extractor'
5
+
6
+ class ExtractorDummy
7
+ include Rollbar::RequestDataExtractor
8
+ end
9
+
10
+ describe Rollbar::RequestDataExtractor do
11
+ subject { ExtractorDummy.new }
12
+
13
+ let(:env) do
14
+ Rack::MockRequest.env_for('/', 'HTTP_HOST' => 'localhost:81', 'HTTP_X_FORWARDED_HOST' => 'example.org:9292')
15
+ end
16
+
17
+ describe '#extract_request_data_from_rack' do
18
+ let(:scrubber) { double }
19
+
20
+ it 'returns a Hash object' do
21
+ scrubber_config = {
22
+ :scrub_fields => kind_of(Array),
23
+ :scrub_user => Rollbar.configuration.scrub_user,
24
+ :scrub_password => Rollbar.configuration.scrub_password,
25
+ :randomize_scrub_length => Rollbar.configuration.randomize_scrub_length
26
+ }
27
+ expect(Rollbar::Scrubbers::URL).to receive(:new).with(scrubber_config).and_return(scrubber)
28
+ expect(scrubber).to receive(:call).with(kind_of(String))
29
+
30
+ result = subject.extract_request_data_from_rack(env)
31
+
32
+ expect(result).to be_kind_of(Hash)
33
+ end
34
+ end
35
+
36
+ describe '#rollbar_scrubbed_value' do
37
+ context 'with random scrub length' do
38
+ before do
39
+ allow(Rollbar.configuration).to receive(:randomize_scrub_length).and_return(true)
40
+ end
41
+
42
+ let(:value) { 'herecomesaverylongvalue' }
43
+
44
+ it 'randomizes the scrubbed string' do
45
+ expect(subject.rollbar_scrubbed(value)).to match(/\*{3,8}/)
46
+ end
47
+ end
48
+
49
+ context 'with no-random scrub length' do
50
+ before do
51
+ allow(Rollbar.configuration).to receive(:randomize_scrub_length).and_return(false)
52
+ end
53
+
54
+ let(:value) { 'herecomesaverylongvalue' }
55
+
56
+ it 'randomizes the scrubbed string' do
57
+ expect(subject.rollbar_scrubbed(value)).to match(/\*{#{value.length}}/)
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,103 @@
1
+ require 'spec_helper'
2
+ require 'rollbar/language_support'
3
+ require 'rollbar/scrubbers/url'
4
+
5
+ describe Rollbar::Scrubbers::URL do
6
+ let(:options) do
7
+ { :scrub_fields => [:password, :secret],
8
+ :scrub_user => false,
9
+ :scrub_password => false,
10
+ :randomize_scrub_length => true
11
+ }
12
+ end
13
+
14
+ subject { described_class.new(options) }
15
+
16
+ describe '#call' do
17
+ context 'cannot scrub URLs' do
18
+ next if Rollbar::LanguageSupport.can_scrub_url?
19
+
20
+ let(:url) { 'http://user:password@foo.com/some-interesting-path#fragment' }
21
+
22
+ it 'returns the URL without any change' do
23
+ expect(subject.call(url)).to be_eql(url)
24
+ end
25
+ end
26
+
27
+ context 'with ruby different from 1.8' do
28
+ next unless Rollbar::LanguageSupport.can_scrub_url?
29
+
30
+ context 'without data to be scrubbed' do
31
+ let(:url) { 'http://user:password@foo.com/some-interesting-path#fragment' }
32
+
33
+ it 'returns the URL without any change' do
34
+ expect(subject.call(url)).to be_eql(url)
35
+ end
36
+
37
+ context 'with arrays in params' do
38
+ let(:url) { 'http://user:password@foo.com/some-interesting-path?foo[]=1&foo[]=2' }
39
+
40
+ it 'returns the URL without any change' do
41
+ expect(subject.call(url)).to be_eql(url)
42
+ end
43
+ end
44
+ end
45
+
46
+ context 'scrubbing user and password' do
47
+ let(:options) do
48
+ {
49
+ :scrub_fields => [],
50
+ :scrub_password => true,
51
+ :scrub_user => true
52
+ }
53
+ end
54
+
55
+ let(:url) { 'http://user:password@foo.com/some-interesting-path#fragment' }
56
+
57
+ it 'returns the URL without any change' do
58
+ expected_url = /http:\/\/\*{3,8}:\*{3,8}@foo.com\/some-interesting\-path#fragment/
59
+
60
+ expect(subject.call(url)).to match(expected_url)
61
+ end
62
+ end
63
+
64
+ context 'with params to be filtered' do
65
+ let(:url) { 'http://foo.com/some-interesting-path?foo=bar&password=mypassword&secret=somevalue#fragment' }
66
+
67
+ it 'returns the URL with some params filtered' do
68
+ expected_url = /http:\/\/foo.com\/some-interesting-path\?foo=bar&password=\*{3,8}&secret=\*{3,8}#fragment/
69
+
70
+ expect(subject.call(url)).to match(expected_url)
71
+ end
72
+
73
+ context 'having array params' do
74
+ let(:url) { 'http://foo.com/some-interesting-path?foo=bar&password[]=mypassword&password[]=otherpassword&secret=somevalue#fragment' }
75
+
76
+ it 'returns the URL with some params filtered' do
77
+ expected_url = /http:\/\/foo.com\/some-interesting-path\?foo=bar&password\[\]=\*{3,8}&password\[\]=\*{3,8}&secret=\*{3,8}#fragment/
78
+
79
+ expect(subject.call(url)).to match(expected_url)
80
+ end
81
+ end
82
+ end
83
+
84
+ context 'with no-random scrub length' do
85
+ let(:options) do
86
+ { :scrub_fields => [:password, :secret],
87
+ :scrub_user => false,
88
+ :scrub_password => false,
89
+ :randomize_scrub_length => false
90
+ }
91
+ end
92
+ let(:password) { 'longpasswordishere' }
93
+ let(:url) { "http://foo.com/some-interesting-path?foo=bar&password=#{password}#fragment" }
94
+
95
+ it 'scrubs with same length than the scrubbed param' do
96
+ expected_url = /http:\/\/foo.com\/some-interesting-path\?foo=bar&password=\*{#{password.length}}#fragment/
97
+
98
+ expect(subject.call(url)).to match(expected_url)
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
metadata CHANGED
@@ -1,221 +1,217 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rollbar
3
- version: !ruby/object:Gem::Version
4
- version: 2.4.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 2
8
+ - 5
9
+ - 0
10
+ version: 2.5.0
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Rollbar, Inc.
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2015-10-06 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2015-10-24 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
14
22
  name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 3.0.0
20
- type: :development
21
23
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
24
27
  - - ">="
25
- - !ruby/object:Gem::Version
28
+ - !ruby/object:Gem::Version
29
+ hash: 7
30
+ segments:
31
+ - 3
32
+ - 0
33
+ - 0
26
34
  version: 3.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: rspec-rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 2.14.0
34
35
  type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec-rails
35
39
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
38
43
  - - ">="
39
- - !ruby/object:Gem::Version
44
+ - !ruby/object:Gem::Version
45
+ hash: 55
46
+ segments:
47
+ - 2
48
+ - 14
49
+ - 0
40
50
  version: 2.14.0
41
- - !ruby/object:Gem::Dependency
42
- name: database_cleaner
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 1.0.0
48
51
  type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: database_cleaner
49
55
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 23
62
+ segments:
63
+ - 1
64
+ - 0
65
+ - 0
54
66
  version: 1.0.0
55
- - !ruby/object:Gem::Dependency
56
- name: girl_friday
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 0.11.1
62
67
  type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: girl_friday
63
71
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
66
75
  - - ">="
67
- - !ruby/object:Gem::Version
76
+ - !ruby/object:Gem::Version
77
+ hash: 49
78
+ segments:
79
+ - 0
80
+ - 11
81
+ - 1
68
82
  version: 0.11.1
69
- - !ruby/object:Gem::Dependency
70
- name: sucker_punch
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.0.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.0.0
83
- - !ruby/object:Gem::Dependency
84
- name: sidekiq
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 2.13.0
90
83
  type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 2.13.0
97
- - !ruby/object:Gem::Dependency
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
98
86
  name: genspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: 0.2.8
104
- type: :development
105
87
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
108
91
  - - ">="
109
- - !ruby/object:Gem::Version
92
+ - !ruby/object:Gem::Version
93
+ hash: 7
94
+ segments:
95
+ - 0
96
+ - 2
97
+ - 8
110
98
  version: 0.2.8
111
- - !ruby/object:Gem::Dependency
112
- name: sinatra
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
99
  type: :development
100
+ version_requirements: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ name: sinatra
119
103
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: resque
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
104
+ requirement: &id006 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
129
107
  - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
108
+ - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
112
+ version: "0"
132
113
  type: :development
114
+ version_requirements: *id006
115
+ - !ruby/object:Gem::Dependency
116
+ name: resque
133
117
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: delayed_job
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
118
+ requirement: &id007 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
143
121
  - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
122
+ - !ruby/object:Gem::Version
123
+ hash: 3
124
+ segments:
125
+ - 0
126
+ version: "0"
146
127
  type: :development
128
+ version_requirements: *id007
129
+ - !ruby/object:Gem::Dependency
130
+ name: delayed_job
147
131
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rake
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
132
+ requirement: &id008 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
157
135
  - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 0.9.0
136
+ - !ruby/object:Gem::Version
137
+ hash: 3
138
+ segments:
139
+ - 0
140
+ version: "0"
160
141
  type: :development
142
+ version_requirements: *id008
143
+ - !ruby/object:Gem::Dependency
144
+ name: rake
161
145
  prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
146
+ requirement: &id009 !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
164
149
  - - ">="
165
- - !ruby/object:Gem::Version
150
+ - !ruby/object:Gem::Version
151
+ hash: 59
152
+ segments:
153
+ - 0
154
+ - 9
155
+ - 0
166
156
  version: 0.9.0
167
- - !ruby/object:Gem::Dependency
168
- name: redis
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
157
  type: :development
158
+ version_requirements: *id009
159
+ - !ruby/object:Gem::Dependency
160
+ name: redis
175
161
  prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
162
+ requirement: &id010 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
178
165
  - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
170
+ version: "0"
171
+ type: :development
172
+ version_requirements: *id010
173
+ - !ruby/object:Gem::Dependency
182
174
  name: multi_json
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :runtime
189
175
  prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
176
+ requirement: &id011 !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
192
179
  - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ type: :runtime
186
+ version_requirements: *id011
187
+ - !ruby/object:Gem::Dependency
196
188
  name: oj
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: 2.12.14
202
- type: :development
203
189
  prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
190
+ requirement: &id012 !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ~>
194
+ - !ruby/object:Gem::Version
195
+ hash: 35
196
+ segments:
197
+ - 2
198
+ - 12
199
+ - 14
208
200
  version: 2.12.14
201
+ type: :development
202
+ version_requirements: *id012
209
203
  description: Easy and powerful exception tracking for Ruby
210
- email:
204
+ email:
211
205
  - support@rollbar.com
212
- executables:
206
+ executables:
213
207
  - rollbar-rails-runner
214
208
  extensions: []
209
+
215
210
  extra_rdoc_files: []
216
- files:
217
- - ".gitignore"
218
- - ".travis.yml"
211
+
212
+ files:
213
+ - .gitignore
214
+ - .travis.yml
219
215
  - Appraisals
220
216
  - CHANGELOG.md
221
217
  - Gemfile
@@ -257,6 +253,7 @@ files:
257
253
  - lib/rollbar/json.rb
258
254
  - lib/rollbar/json/default.rb
259
255
  - lib/rollbar/json/oj.rb
256
+ - lib/rollbar/language_support.rb
260
257
  - lib/rollbar/logger_proxy.rb
261
258
  - lib/rollbar/middleware/rack/builder.rb
262
259
  - lib/rollbar/middleware/rack/test_session.rb
@@ -270,6 +267,8 @@ files:
270
267
  - lib/rollbar/rake.rb
271
268
  - lib/rollbar/rake_tasks.rb
272
269
  - lib/rollbar/request_data_extractor.rb
270
+ - lib/rollbar/scrubbers.rb
271
+ - lib/rollbar/scrubbers/url.rb
273
272
  - lib/rollbar/sidekiq.rb
274
273
  - lib/rollbar/tasks/rollbar.cap
275
274
  - lib/rollbar/truncation.rb
@@ -282,6 +281,7 @@ files:
282
281
  - lib/rollbar/util/hash.rb
283
282
  - lib/rollbar/version.rb
284
283
  - rollbar.gemspec
284
+ - spec/cacert.pem
285
285
  - spec/controllers/home_controller_spec.rb
286
286
  - spec/delay/sidekiq_spec.rb
287
287
  - spec/delay/sucker_punch_spec.rb
@@ -358,6 +358,8 @@ files:
358
358
  - spec/rollbar/middleware/rack/builder_spec.rb
359
359
  - spec/rollbar/middleware/sinatra_spec.rb
360
360
  - spec/rollbar/rake_spec.rb
361
+ - spec/rollbar/request_data_extractor_spec.rb
362
+ - spec/rollbar/scrubbers/url_spec.rb
361
363
  - spec/rollbar/sidekiq_spec.rb
362
364
  - spec/rollbar/truncation/frames_strategy_spec.rb
363
365
  - spec/rollbar/truncation/min_body_strategy_spec.rb
@@ -374,31 +376,42 @@ files:
374
376
  - spec/support/helpers.rb
375
377
  - spec/support/notifier_helpers.rb
376
378
  - spec/support/shared_contexts.rb
379
+ has_rdoc: true
377
380
  homepage: https://rollbar.com
378
- licenses:
381
+ licenses:
379
382
  - MIT
380
- metadata: {}
381
383
  post_install_message:
382
384
  rdoc_options: []
383
- require_paths:
385
+
386
+ require_paths:
384
387
  - lib
385
- required_ruby_version: !ruby/object:Gem::Requirement
386
- requirements:
388
+ required_ruby_version: !ruby/object:Gem::Requirement
389
+ none: false
390
+ requirements:
387
391
  - - ">="
388
- - !ruby/object:Gem::Version
389
- version: '0'
390
- required_rubygems_version: !ruby/object:Gem::Requirement
391
- requirements:
392
+ - !ruby/object:Gem::Version
393
+ hash: 3
394
+ segments:
395
+ - 0
396
+ version: "0"
397
+ required_rubygems_version: !ruby/object:Gem::Requirement
398
+ none: false
399
+ requirements:
392
400
  - - ">="
393
- - !ruby/object:Gem::Version
394
- version: '0'
401
+ - !ruby/object:Gem::Version
402
+ hash: 3
403
+ segments:
404
+ - 0
405
+ version: "0"
395
406
  requirements: []
407
+
396
408
  rubyforge_project:
397
- rubygems_version: 2.3.0
409
+ rubygems_version: 1.6.2
398
410
  signing_key:
399
- specification_version: 4
411
+ specification_version: 3
400
412
  summary: Reports exceptions to Rollbar
401
- test_files:
413
+ test_files:
414
+ - spec/cacert.pem
402
415
  - spec/controllers/home_controller_spec.rb
403
416
  - spec/delay/sidekiq_spec.rb
404
417
  - spec/delay/sucker_punch_spec.rb
@@ -475,6 +488,8 @@ test_files:
475
488
  - spec/rollbar/middleware/rack/builder_spec.rb
476
489
  - spec/rollbar/middleware/sinatra_spec.rb
477
490
  - spec/rollbar/rake_spec.rb
491
+ - spec/rollbar/request_data_extractor_spec.rb
492
+ - spec/rollbar/scrubbers/url_spec.rb
478
493
  - spec/rollbar/sidekiq_spec.rb
479
494
  - spec/rollbar/truncation/frames_strategy_spec.rb
480
495
  - spec/rollbar/truncation/min_body_strategy_spec.rb