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