Class: SiteguardLite::CustomSignature::YamlLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/siteguard_lite/custom_signature/yaml_loader.rb

Class Method Summary collapse

Class Method Details

.load(yaml) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/siteguard_lite/custom_signature/yaml_loader.rb', line 4

def self.load(yaml)
  y = ::YAML.load(yaml)
  rules = []
  y['rules'].each do |r|
    rule = SiteguardLite::CustomSignature::Rule.new(
      name: r['name'],
      action: r['action'],
      filter_lifetime: r['filter_lifetime'],
      comment: r['comment'],
      exclusion_action: r['exclusion_action'],
      signature: r['signature']
    )
    r['conditions'].each do |c|
      rule.add_condition(c['key'], c['value'], c['comparison_methods'])
    end
    rules << rule
  end
  rules
end