func (s *Seekret) LoadRulesFromFile(file string, defaulEnabled bool) error {
	var ruleYamlMap map[string]ruleYaml

	if file == "" {
		return nil
	}

	filename, _ := filepath.Abs(file)

	ruleBase := filepath.Base(filename)
	if filepath.Ext(ruleBase) == ".rule" {
		ruleBase = ruleBase[0 : len(ruleBase)-5]
	}

	yamlData, err := ioutil.ReadFile(filename)
	if err != nil {
		return err
	}

	err = yaml.Unmarshal(yamlData, &ruleYamlMap)
	if err != nil {
		return err
	}

	for k, v := range ruleYamlMap {
		rule, err := models.NewRule(ruleBase+"."+k, v.Match)
		if err != nil {
			return err
		}

		for _, e := range v.Unmatch {
			rule.AddUnmatch(e)
		}
		s.AddRule(*rule, defaulEnabled)
	}

	return nil
}
func (s *Seekret) LoadRulesFromFile(file string, defaulEnabled bool) error {
	var ruleYamlMap map[string]ruleYaml

	if file == "" {
		return nil
	}

	filename, _ := filepath.Abs(file)

	ruleBase := filepath.Base(filename)
	if filepath.Ext(ruleBase) == ".rule" {
		ruleBase = ruleBase[0 : len(ruleBase)-5]
	}

	yamlData, err := ioutil.ReadFile(filename)
	if err != nil {
		return err
	}

	err = yaml.Unmarshal(yamlData, &ruleYamlMap)
	if err != nil {
		return err
	}

	for k, v := range ruleYamlMap {
		rule, err := models.NewRule(ruleBase+"."+k, v.Match)
		if err != nil {
			return err
		}

		for _, e := range v.Unmatch {
			rule.AddUnmatch(e)
		}
		s.AddRule(*rule, defaulEnabled)
	}

	return nil
}
func ( s * Seekret ) LoadRulesFromFile ( file string , defaulEnabled bool ) error { var ruleYamlMap map [ string ] ruleYaml if file == " " { return nil } filename , _ := filepath . Abs ( file ) ruleBase := filepath . Base ( filename ) if filepath . Ext ( ruleBase ) == " " { ruleBase = ruleBase [ 0 : len ( ruleBase ) - 5 ] } yamlData , err := ioutil . ReadFile ( filename ) if err != nil { return err } err = yaml . Unmarshal ( yamlData , & ruleYamlMap ) if err != nil { return err } for k , v := range ruleYamlMap { rule , err := models . NewRule ( ruleBase + " " + k , v . Match ) if err != nil { return err } for _ , e := range v . Unmatch { rule . AddUnmatch ( e ) } s . AddRule ( * rule , defaulEnabled ) } return nil }
// LoadRulesFromFile loads rules from a YAML file.
LoadRulesFromFile loads rules from a YAML file .