rack_hoptoad 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rack/hoptoad.rb +24 -2
  2. metadata +4 -4
@@ -6,7 +6,7 @@ module Rack
6
6
  # Catches all exceptions raised from the app it wraps and
7
7
  # posts the results to hoptoad.
8
8
  class Hoptoad
9
- VERSION = '0.1.4'
9
+ VERSION = '0.1.5'
10
10
 
11
11
  class Error < StandardError; end
12
12
 
@@ -39,6 +39,12 @@ module Rack
39
39
  def environment_filter_keys
40
40
  @environment_filters.flatten
41
41
  end
42
+
43
+ def environment_filter_regexps
44
+ environment_filter_keys.map do |key|
45
+ "^#{Regexp.escape(wrapped_key_for(key))}$"
46
+ end
47
+ end
42
48
  private
43
49
  def report?
44
50
  report_under.include?(rack_env)
@@ -55,6 +61,7 @@ module Rack
55
61
  :framework_env => rack_env,
56
62
  :notifier_name => 'Rack::Hoptoad',
57
63
  :notifier_version => VERSION,
64
+ :environment => environment_data_for(env),
58
65
  :session => env['rack.session']
59
66
  }
60
67
 
@@ -82,10 +89,25 @@ module Rack
82
89
 
83
90
  def toadhopper
84
91
  toad = @notifier_class.new(api_key)
85
- toad.filters = environment_filter_keys
92
+ toad.filters = environment_filter_regexps
86
93
  toad
87
94
  end
88
95
 
96
+ def environment_data_for(env)
97
+ data = {}
98
+ ENV.each do |key,value|
99
+ data[wrapped_key_for(key)] = value.inspect
100
+ end
101
+ env.each do |key,value|
102
+ data["rack[#{key.inspect}]"] = value.inspect
103
+ end
104
+ data
105
+ end
106
+
107
+ def wrapped_key_for(key)
108
+ "ENV[#{key.inspect}]"
109
+ end
110
+
89
111
  def extract_body(env)
90
112
  if io = env['rack.input']
91
113
  io.rewind if io.respond_to?(:rewind)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack_hoptoad
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Corey Donohoe
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-12 00:00:00 -07:00
18
+ date: 2010-07-09 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency