raygun4ruby 0.0.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 364f723004d0b0a022bb82d74551e274466cd296
4
- data.tar.gz: 2a403d1dc79b9ea1c580e4f232284769894a3eaf
3
+ metadata.gz: 74c9d087f04bec97c26f86237576f5de7e5256fc
4
+ data.tar.gz: 3173e17810478004877c6b68f5dde4b3c5b57bf2
5
5
  SHA512:
6
- metadata.gz: a7597177c7877ca08356ded80ba631e437b173b1e3fa9409458e564c4b5174a0aa5b35156d4e8dabe7d5aefc991e790b4c4da23553248f6c52dc3af6483a296b
7
- data.tar.gz: 57f578a39ae59d7ef0dc1c275b945b86b4b23e26bf51f5cb41a60ba30eac727dac4956e38f68b3aa255669c578a1dba8be2864c5930fb6bb462311faa9ea68f8
6
+ metadata.gz: 65c3da42fca2b153bc3441f50da61514b1c48236177a543daf296fc34a2a17500d2914d2bae63c3872d44840cbbbd3edb87bcc56eca987742413271bb1eeda0a
7
+ data.tar.gz: d2fa421bf69de9ba84691eb3d9a5e93d256b08fed4ae6806c6801949c7e32f6cd3e9d389c636f5b6fe8d6db0d546841e69ccc685009ffc9f79a2f03c4ebe61b9
data/README.md CHANGED
@@ -82,7 +82,7 @@ You can ignore certain types of Exception using the `ignore` option in the setup
82
82
  ```ruby
83
83
  Raygun.setup do |config|
84
84
  config.api_key = "MY_SWEET_API_KEY"
85
- config.ignore << [MyApp::AnExceptionIDontCareAbout]
85
+ config.ignore << ['MyApp::AnExceptionIDontCareAbout']
86
86
  end
87
87
  ```
88
88
 
data/lib/raygun/client.rb CHANGED
@@ -97,9 +97,8 @@ module Raygun
97
97
 
98
98
  def form_data(rack_env)
99
99
  request = Rack::Request.new(rack_env)
100
-
101
100
  if request.form_data?
102
- request.body
101
+ filter_params(request.params, rack_env["action_dispatch.parameter_filter"])
103
102
  end
104
103
  end
105
104
 
@@ -128,5 +127,16 @@ module Raygun
128
127
  self.class.post("/entries", headers: @headers, body: JSON.generate(payload_hash))
129
128
  end
130
129
 
130
+ def filter_params(params_hash, extra_filter_keys = nil)
131
+ filter_keys = (Array(extra_filter_keys) + Raygun.configuration.filter_parameters).map(&:to_s)
132
+
133
+ params_hash.inject({}) do |result, pair|
134
+ k, v = pair
135
+ filtered_value = (filter_keys.include?(k)) ? "[FILTERED]" : v
136
+ result[k] = filtered_value
137
+ result
138
+ end
139
+ end
140
+
131
141
  end
132
142
  end
@@ -28,6 +28,9 @@ module Raygun
28
28
  # Which methods should we try on the affected user object in order to get an identifier
29
29
  attr_accessor :affected_user_identifier_methods
30
30
 
31
+ # Which parameter keys should we filter out by default?
32
+ attr_accessor :filter_parameters
33
+
31
34
  # Exception classes to ignore by default
32
35
  IGNORE_DEFAULT = ['ActiveRecord::RecordNotFound',
33
36
  'ActionController::RoutingError',
@@ -37,6 +40,8 @@ module Raygun
37
40
  'AbstractController::ActionNotFound',
38
41
  'Mongoid::Errors::DocumentNotFound']
39
42
 
43
+ DEFAULT_FILTER_PARAMETERS = [ :password, :card_number, :cvv ]
44
+
40
45
  def initialize
41
46
  # set default attribute values
42
47
  @ignore = IGNORE_DEFAULT
@@ -44,6 +49,7 @@ module Raygun
44
49
  @silence_reporting = nil
45
50
  @affected_user_method = :current_user
46
51
  @affected_user_identifier_methods = [ :email, :username, :id ]
52
+ @filter_parameters = DEFAULT_FILTER_PARAMETERS
47
53
  end
48
54
 
49
55
  def [](key)
@@ -1,3 +1,3 @@
1
1
  module Raygun
2
- VERSION = "0.0.9"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindscape
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-21 00:00:00.000000000 Z
12
+ date: 2014-03-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty