bugsnag 1.2.15 → 1.2.16

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.
@@ -1,6 +1,10 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 1.2.16
5
+ ------
6
+ - Allow lambda functions in config.ignore_classes
7
+
4
8
  1.2.15
5
9
  ------
6
10
  - Add stacktrace to internal bugsnag logging output
data/README.md CHANGED
@@ -238,7 +238,14 @@ Sets for which exception classes we should not send exceptions to bugsnag.com.
238
238
  config.ignore_classes << "ActiveRecord::StatementInvalid"
239
239
  ```
240
240
 
241
- By default, `ignore_classes` contains the following classes:
241
+ You can also provide a lambda function here to ignore by other exception
242
+ attributes or by a regex:
243
+
244
+ ```ruby
245
+ config.ignore_classes << lambda {|ex| ex.message =~ /timeout/}
246
+ ```
247
+
248
+ By default, `ignore_classes` contains the following:
242
249
 
243
250
  ```ruby
244
251
  [
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.15
1
+ 1.2.16
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{bugsnag}
8
- s.version = "1.2.15"
7
+ s.name = "bugsnag"
8
+ s.version = "1.2.16"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["James Smith"]
12
- s.date = %q{2013-02-21}
13
- s.description = %q{Ruby notifier for bugsnag.com}
14
- s.email = %q{james@bugsnag.com}
12
+ s.date = "2013-02-24"
13
+ s.description = "Ruby notifier for bugsnag.com"
14
+ s.email = "james@bugsnag.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md"
@@ -56,32 +56,31 @@ Gem::Specification.new do |s|
56
56
  "spec/rack_spec.rb",
57
57
  "spec/spec_helper.rb"
58
58
  ]
59
- s.homepage = %q{http://github.com/bugsnag/bugsnag-ruby}
59
+ s.homepage = "http://github.com/bugsnag/bugsnag-ruby"
60
60
  s.licenses = ["MIT"]
61
61
  s.require_paths = ["lib"]
62
- s.rubygems_version = %q{1.3.6}
63
- s.summary = %q{Ruby notifier for bugsnag.com}
62
+ s.rubygems_version = "1.8.24"
63
+ s.summary = "Ruby notifier for bugsnag.com"
64
64
 
65
65
  if s.respond_to? :specification_version then
66
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
67
66
  s.specification_version = 3
68
67
 
69
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
68
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
70
69
  s.add_runtime_dependency(%q<multi_json>, ["~> 1.0"])
71
- s.add_runtime_dependency(%q<httparty>, [">= 0.6", "< 1.0"])
70
+ s.add_runtime_dependency(%q<httparty>, ["< 1.0", ">= 0.6"])
72
71
  s.add_development_dependency(%q<rspec>, ["~> 2.11.0"])
73
72
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
74
73
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
75
74
  else
76
75
  s.add_dependency(%q<multi_json>, ["~> 1.0"])
77
- s.add_dependency(%q<httparty>, [">= 0.6", "< 1.0"])
76
+ s.add_dependency(%q<httparty>, ["< 1.0", ">= 0.6"])
78
77
  s.add_dependency(%q<rspec>, ["~> 2.11.0"])
79
78
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
80
79
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
81
80
  end
82
81
  else
83
82
  s.add_dependency(%q<multi_json>, ["~> 1.0"])
84
- s.add_dependency(%q<httparty>, [">= 0.6", "< 1.0"])
83
+ s.add_dependency(%q<httparty>, ["< 1.0", ">= 0.6"])
85
84
  s.add_dependency(%q<rspec>, ["~> 2.11.0"])
86
85
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
87
86
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
@@ -151,7 +151,10 @@ module Bugsnag
151
151
  end
152
152
 
153
153
  def ignore?
154
- @configuration.ignore_classes.include?(error_class(@exceptions.last))
154
+ ex = @exceptions.last
155
+ @configuration.ignore_classes.any? do |to_ignore|
156
+ to_ignore.is_a?(Proc) ? to_ignore.call(ex) : to_ignore == error_class(ex)
157
+ end
155
158
  end
156
159
 
157
160
  def request_data
@@ -292,6 +292,14 @@ describe Bugsnag::Notification do
292
292
  Bugsnag.notify_or_ignore(BugsnagTestException.new("It crashed"))
293
293
  end
294
294
 
295
+ it "should not notify if the exception is matched by an ignore_classes lambda function" do
296
+ Bugsnag.configuration.ignore_classes << lambda {|e| e.message =~ /crashed/}
297
+
298
+ Bugsnag::Notification.should_not_receive(:deliver_exception_payload)
299
+
300
+ Bugsnag.notify_or_ignore(BugsnagTestException.new("It crashed"))
301
+ end
302
+
295
303
  it "should not unwrap the same exception twice" do
296
304
  Bugsnag::Notification.should_receive(:deliver_exception_payload) do |endpoint, payload|
297
305
  event = get_event_from_payload(payload)
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 63
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 2
8
- - 15
9
- version: 1.2.15
9
+ - 16
10
+ version: 1.2.16
10
11
  platform: ruby
11
12
  authors:
12
13
  - James Smith
@@ -14,82 +15,92 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2013-02-21 00:00:00 -08:00
18
- default_executable:
18
+ date: 2013-02-24 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- type: :runtime
23
- name: multi_json
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
21
+ requirement: &id001 !ruby/object:Gem::Requirement
22
+ none: false
25
23
  requirements:
26
24
  - - ~>
27
25
  - !ruby/object:Gem::Version
26
+ hash: 15
28
27
  segments:
29
28
  - 1
30
29
  - 0
31
30
  version: "1.0"
32
- requirement: *id001
33
- - !ruby/object:Gem::Dependency
31
+ version_requirements: *id001
32
+ name: multi_json
34
33
  prerelease: false
35
34
  type: :runtime
36
- name: httparty
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
38
  requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- - 6
44
- version: "0.6"
45
39
  - - <
46
40
  - !ruby/object:Gem::Version
41
+ hash: 15
47
42
  segments:
48
43
  - 1
49
44
  - 0
50
45
  version: "1.0"
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ hash: 7
49
+ segments:
50
+ - 0
51
+ - 6
52
+ version: "0.6"
53
+ version_requirements: *id002
54
+ name: httparty
53
55
  prerelease: false
54
- type: :development
55
- name: rspec
56
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ type: :runtime
57
+ - !ruby/object:Gem::Dependency
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
57
60
  requirements:
58
61
  - - ~>
59
62
  - !ruby/object:Gem::Version
63
+ hash: 35
60
64
  segments:
61
65
  - 2
62
66
  - 11
63
67
  - 0
64
68
  version: 2.11.0
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id003
70
+ name: rspec
67
71
  prerelease: false
68
72
  type: :development
69
- name: rdoc
70
- version_requirements: &id004 !ruby/object:Gem::Requirement
73
+ - !ruby/object:Gem::Dependency
74
+ requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
71
76
  requirements:
72
77
  - - ~>
73
78
  - !ruby/object:Gem::Version
79
+ hash: 31
74
80
  segments:
75
81
  - 3
76
82
  - 12
77
83
  version: "3.12"
78
- requirement: *id004
79
- - !ruby/object:Gem::Dependency
84
+ version_requirements: *id004
85
+ name: rdoc
80
86
  prerelease: false
81
87
  type: :development
82
- name: jeweler
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
88
+ - !ruby/object:Gem::Dependency
89
+ requirement: &id005 !ruby/object:Gem::Requirement
90
+ none: false
84
91
  requirements:
85
92
  - - ~>
86
93
  - !ruby/object:Gem::Version
94
+ hash: 63
87
95
  segments:
88
96
  - 1
89
97
  - 8
90
98
  - 4
91
99
  version: 1.8.4
92
- requirement: *id005
100
+ version_requirements: *id005
101
+ name: jeweler
102
+ prerelease: false
103
+ type: :development
93
104
  description: Ruby notifier for bugsnag.com
94
105
  email: james@bugsnag.com
95
106
  executables: []
@@ -138,7 +149,6 @@ files:
138
149
  - spec/notification_spec.rb
139
150
  - spec/rack_spec.rb
140
151
  - spec/spec_helper.rb
141
- has_rdoc: true
142
152
  homepage: http://github.com/bugsnag/bugsnag-ruby
143
153
  licenses:
144
154
  - MIT
@@ -148,23 +158,27 @@ rdoc_options: []
148
158
  require_paths:
149
159
  - lib
150
160
  required_ruby_version: !ruby/object:Gem::Requirement
161
+ none: false
151
162
  requirements:
152
163
  - - ">="
153
164
  - !ruby/object:Gem::Version
165
+ hash: 3
154
166
  segments:
155
167
  - 0
156
168
  version: "0"
157
169
  required_rubygems_version: !ruby/object:Gem::Requirement
170
+ none: false
158
171
  requirements:
159
172
  - - ">="
160
173
  - !ruby/object:Gem::Version
174
+ hash: 3
161
175
  segments:
162
176
  - 0
163
177
  version: "0"
164
178
  requirements: []
165
179
 
166
180
  rubyforge_project:
167
- rubygems_version: 1.3.6
181
+ rubygems_version: 1.8.24
168
182
  signing_key:
169
183
  specification_version: 3
170
184
  summary: Ruby notifier for bugsnag.com