github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/lib/triggers/make.go (about)

     1  package triggers
     2  
     3  import (
     4  	"regexp"
     5  )
     6  
     7  func newTriggers() *Triggers {
     8  	return &Triggers{}
     9  }
    10  
    11  func (triggers *Triggers) compile() error {
    12  	if triggers.compiled {
    13  		return nil
    14  	}
    15  	for _, trigger := range triggers.Triggers {
    16  		trigger.matchRegexes = make([]*regexp.Regexp, len(trigger.MatchLines))
    17  		for index, line := range trigger.MatchLines {
    18  			var err error
    19  			trigger.matchRegexes[index], err = regexp.Compile("^" + line)
    20  			if err != nil {
    21  				return err
    22  			}
    23  		}
    24  	}
    25  	triggers.compiled = true
    26  	return nil
    27  }