rack_hoptoad 0.1.4 → 0.1.5

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.
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