raygun4ruby 0.0.9 → 1.0.0

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