failbot 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,17 +9,21 @@ module Failbot
9
9
  end
10
10
 
11
11
  def call(env)
12
- start = Time.now
13
- @app.call(env)
14
- rescue Object => boom
15
- elapsed = Time.now - start
16
- self.class.report(boom, env, @other.merge(:time => elapsed.to_s))
17
- raise
12
+ Failbot.push @other.merge(self.class.context(env)) do
13
+ begin
14
+ start = Time.now
15
+ @app.call(env)
16
+ rescue Object => boom
17
+ elapsed = Time.now - start
18
+ Failbot.report(boom, {:time => elapsed.to_s})
19
+ raise
20
+ end
21
+ end
18
22
  end
19
23
 
20
- def self.report(boom, env, other={})
24
+ def self.context(env)
21
25
  request = Rack::Request.new(env)
22
- Failbot.context.push(other.merge({
26
+ {
23
27
  :method => request.request_method,
24
28
  :user_agent => env['HTTP_USER_AGENT'],
25
29
  :params => (request.params.inspect rescue nil),
@@ -27,8 +31,11 @@ module Failbot
27
31
  :referrer => request.referrer,
28
32
  :remote_ip => request.ip,
29
33
  :url => request.url
30
- }))
31
- Failbot.report(boom)
34
+ }
35
+ end
36
+
37
+ def self.report(exception, env, other = {})
38
+ Failbot.report(exception, other.merge(context(env)))
32
39
  end
33
40
  end
34
41
  end
@@ -1,3 +1,3 @@
1
1
  module Failbot
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: failbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-03-14 00:00:00.000000000 Z
14
+ date: 2013-08-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: yajl-ruby
@@ -61,6 +61,22 @@ dependencies:
61
61
  - - ~>
62
62
  - !ruby/object:Gem::Version
63
63
  version: 0.8.7
64
+ - !ruby/object:Gem::Dependency
65
+ name: rack-test
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '0.6'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '0.6'
64
80
  description: ! '...'
65
81
  email:
66
82
  - github+failbot@lists.github.com