errplane 0.5.15 → 0.5.17

Sign up to get free protection for your applications and to get access to all the features.
@@ -129,7 +129,7 @@ module Errplane
129
129
  e = e.continued_exception if e.respond_to?(:continued_exception)
130
130
  e = e.original_exception if e.respond_to?(:original_exception)
131
131
  opts = opts.merge(:exception => e)
132
- opts[:environment_variables] = ENV.to_hash if configuration.include_environment_variables?
132
+ opts[:environment_variables] = ENV.to_hash
133
133
  black_box = BlackBox.new(opts)
134
134
  end
135
135
  end
@@ -37,7 +37,10 @@ module Errplane
37
37
  :reporter => reporter,
38
38
  :custom_data => @custom_data
39
39
  }
40
- payload[:environment_variables] = @environment_variables
40
+
41
+ payload[:environment_variables] = @environment_variables.reject do |env|
42
+ Errplane.configuration.environment_variable_filters.any? { |filter| env =~ filter }
43
+ end
41
44
 
42
45
  Errplane.configuration.add_custom_exception_data(self)
43
46
 
@@ -19,7 +19,7 @@ module Errplane
19
19
  attr_accessor :backtrace_filters
20
20
  attr_accessor :aggregated_exception_classes
21
21
  attr_accessor :environment_variables
22
- attr_writer :include_environment_variables
22
+ attr_accessor :environment_variable_filters
23
23
 
24
24
  attr_accessor :instrumentation_enabled
25
25
  attr_accessor :debug
@@ -37,7 +37,10 @@ module Errplane
37
37
  ActionController::RoutingError},
38
38
  :ignored_environments => %w{test cucumber selenium},
39
39
  :ignored_user_agents => %w{GoogleBot},
40
- :include_environment_variables => false,
40
+ :environment_variable_filters => [
41
+ /password/i,
42
+ /key/i
43
+ ],
41
44
  :backtrace_filters => [
42
45
  lambda { |line| line.gsub(/^\.\//, "") },
43
46
  lambda { |line|
@@ -60,7 +63,7 @@ module Errplane
60
63
  @ignored_environments = DEFAULTS[:ignored_environments].dup
61
64
  @ignored_user_agents = DEFAULTS[:ignored_user_agents].dup
62
65
  @backtrace_filters = DEFAULTS[:backtrace_filters].dup
63
- @include_environment_variables = DEFAULTS[:include_environment_variables]
66
+ @environment_variable_filters = DEFAULTS[:environment_variable_filters]
64
67
  @aggregated_exception_classes = []
65
68
  @debug = false
66
69
  @rescue_global_exceptions = false
@@ -75,10 +78,6 @@ module Errplane
75
78
  !!@debug
76
79
  end
77
80
 
78
- def include_environment_variables?
79
- @include_environment_variables
80
- end
81
-
82
81
  def instrumentation_enabled?
83
82
  !!@instrumentation_enabled
84
83
  end
@@ -11,7 +11,7 @@ module Errplane
11
11
  end
12
12
 
13
13
  def push(obj)
14
- super if @que.length < @max
14
+ super if length < @max
15
15
  end
16
16
  end
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module Errplane
2
- VERSION = "0.5.15"
2
+ VERSION = "0.5.17"
3
3
  end
@@ -46,5 +46,24 @@ describe Errplane::BlackBox do
46
46
  json["hash"].should == "some_hash"
47
47
  json["custom_data"]["extra_info"].should == "blah"
48
48
  end
49
+
50
+ describe "environment variables" do
51
+ it "should be filtered based on the contents of environment_variable_filters" do
52
+ Errplane.configure do |config|
53
+ config.environment_variable_filters = [/password/i]
54
+ end
55
+
56
+ black_box = Errplane::BlackBox.new(
57
+ :exception => @exception,
58
+ :environment_variables => {
59
+ "IMPORTANT_PASSWORD" => "sesame",
60
+ "EDITOR" => "vim"
61
+ })
62
+
63
+ json = JSON.parse(black_box.to_json)
64
+ json["environment_variables"].size.should == 1
65
+ json["environment_variables"].should == {"EDITOR" => "vim"}
66
+ end
67
+ end
49
68
  end
50
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errplane
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.15
4
+ version: 0.5.17
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-28 00:00:00.000000000 Z
12
+ date: 2012-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70277963708200 !ruby/object:Gem::Requirement
16
+ requirement: &70309651133360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70277963708200
24
+ version_requirements: *70309651133360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70277963707600 !ruby/object:Gem::Requirement
27
+ requirement: &70309651132840 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.3.4
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70277963707600
35
+ version_requirements: *70309651132840
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: actionpack
38
- requirement: &70277963707060 !ruby/object:Gem::Requirement
38
+ requirement: &70309651132320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.3.4
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70277963707060
46
+ version_requirements: *70309651132320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70277963706540 !ruby/object:Gem::Requirement
49
+ requirement: &70309651131820 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70277963706540
57
+ version_requirements: *70309651131820
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &70277963706040 !ruby/object:Gem::Requirement
60
+ requirement: &70309651131260 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70277963706040
68
+ version_requirements: *70309651131260
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard
71
- requirement: &70277963705540 !ruby/object:Gem::Requirement
71
+ requirement: &70309651130740 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70277963705540
79
+ version_requirements: *70309651130740
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: guard-rspec
82
- requirement: &70277963705000 !ruby/object:Gem::Requirement
82
+ requirement: &70309651130260 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70277963705000
90
+ version_requirements: *70309651130260
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
- requirement: &70277963704420 !ruby/object:Gem::Requirement
93
+ requirement: &70309651129740 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70277963704420
101
+ version_requirements: *70309651129740
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdoc
104
- requirement: &70277963699340 !ruby/object:Gem::Requirement
104
+ requirement: &70309651129220 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70277963699340
112
+ version_requirements: *70309651129220
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rspec
115
- requirement: &70277963698520 !ruby/object:Gem::Requirement
115
+ requirement: &70309651128660 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70277963698520
123
+ version_requirements: *70309651128660
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: tzinfo
126
- requirement: &70277963697680 !ruby/object:Gem::Requirement
126
+ requirement: &70309651033340 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,7 +131,7 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70277963697680
134
+ version_requirements: *70309651033340
135
135
  description: This gem provides implements instrumentation with Errplane for Rails
136
136
  3.x applications.
137
137
  email: