lib/raygun/client.rb in raygun4ruby-1.1.11 vs lib/raygun/client.rb in raygun4ruby-1.1.12
- old
+ new
@@ -80,12 +80,12 @@
def rack_env
ENV["RACK_ENV"]
end
- def rack_env_present?
- !!ENV["RACK_ENV"]
+ def rails_env
+ ENV["RAILS_ENV"]
end
def request_information(env)
return {} if env.nil? || env.empty?
{
@@ -133,25 +133,31 @@
unless request.form_data?
form_params(rack_env)
end
end
+ def filter_custom_data(env)
+ params = env.delete(:custom_data) || {}
+ filter_params(params, env["action_dispatch.parameter_filter"])
+ end
+
# see http://raygun.io/raygun-providers/rest-json-api?v=1
def build_payload_hash(exception_instance, env = {})
- custom_data = env.delete(:custom_data) || {}
+ custom_data = filter_custom_data(env) || {}
tags = env.delete(:tags) || []
- tags << rack_env if rack_env_present?
+ tags << rails_env || rack_env
+
grouping_key = env.delete(:grouping_key)
error_details = {
machineName: hostname,
version: version,
client: client_details,
error: error_details(exception_instance),
userCustomData: Raygun.configuration.custom_data.merge(custom_data),
- tags: Raygun.configuration.tags.concat(tags).uniq,
+ tags: Raygun.configuration.tags.concat(tags).compact.uniq,
request: request_information(env)
}
error_details.merge!(groupingKey: grouping_key) if grouping_key
@@ -185,10 +191,10 @@
(params_hash || {}).inject({}) do |result, (k, v)|
result[k] = case v
when Hash
filter_params_with_array(v, filter_keys)
else
- filter_keys.include?(k) ? "[FILTERED]" : v
+ filter_keys.any? { |fk| /#{fk}/i === k.to_s } ? "[FILTERED]" : v
end
result
end
end