Method: Datadog::Tracing::Contrib::Utils::Quantization::Hash.merge_options

Defined in:
lib/datadog/tracing/contrib/utils/quantization/hash.rb

.merge_options(original, additional) ⇒ Object



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/datadog/tracing/contrib/utils/quantization/hash.rb', line 76

def merge_options(original, additional)
  {}.tap do |options|
    # Show
    # If either is :all, value becomes :all
    options[:show] =  if original[:show] == :all || additional[:show] == :all
                        :all
                      else
                        (original[:show] || []).dup.concat(additional[:show] || []).uniq
                      end

    # Exclude
    # If either is :all, value becomes :all
    options[:exclude] = if original[:exclude] == :all || additional[:exclude] == :all
                          :all
                        else
                          (original[:exclude] || []).dup.concat(additional[:exclude] || []).uniq
                        end

    options[:placeholder] = additional[:placeholder] || original[:placeholder]
  end
end