Module: TingYun::Instrumentation::Support::ParameterFiltering

Defined in:
lib/ting_yun/instrumentation/support/parameter_filtering.rb

Class Method Summary collapse

Class Method Details

.dot_flattened(nested_hash, result = {}) ⇒ Object

turns => {‘b’ => ‘c’} into => ‘c’



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ting_yun/instrumentation/support/parameter_filtering.rb', line 24

def dot_flattened(nested_hash, result={})
  nested_hash.each do |key, val|
    next if val == nil
    if val.respond_to?(:has_key?)
      dot_flattened(val, result)
    else
      result[key] = val
    end
  end
  result
end

.filter_rails_request_parameters(params) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/ting_yun/instrumentation/support/parameter_filtering.rb', line 12

def filter_rails_request_parameters(params)
  result = params.dup
  result.delete("controller")
  result.delete("action")
  result.delete("commit")
  result.delete("authenticity_token")
  result.delete_if{|_,v| !v.is_a? String}
  TingYun::Agent.config["nbs.ignored_params"].split(',').each{|key| result.delete(key)}
  result
end

.flattened_filter_request_parameters(params) ⇒ Object



36
37
38
# File 'lib/ting_yun/instrumentation/support/parameter_filtering.rb', line 36

def flattened_filter_request_parameters(params)
  filter_rails_request_parameters(dot_flattened(params))
end