Module: Datadog::AppSec::Processor::RuleMerger

Defined in:
lib/datadog/appsec/processor/rule_merger.rb

Overview

RuleMerger merge different sources of information into the rules payload

Defined Under Namespace

Classes: RuleVersionMismatchError

Class Method Summary collapse

Class Method Details

.merge(rules:, data: nil, overrides: nil, exclusions: nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/datadog/appsec/processor/rule_merger.rb', line 20

def merge(rules:, data: nil, overrides: nil, exclusions: nil)
  combined_rules = combine_rules(rules)

  rules_data = combine_data(data) if data
  rules_overrides = combine_overrides(overrides) if overrides
  rules_exclusions = combine_exclusions(exclusions) if exclusions

  combined_rules['rules_data'] = rules_data if rules_data
  combined_rules['rules_override'] = rules_overrides if rules_overrides
  combined_rules['exclusions'] = rules_exclusions if rules_exclusions

  combined_rules
end