class SiteguardLite::CustomSignature::YamlLoader

Public Class Methods

load(yaml) click to toggle source
# 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