github.com/Cloud-Foundations/Dominator@v0.3.4/lib/image/replace.go (about)

     1  package image
     2  
     3  func (annotation *Annotation) registerStrings(registerFunc func(string)) {
     4  	if annotation != nil {
     5  		registerFunc(annotation.URL)
     6  	}
     7  }
     8  
     9  func (annotation *Annotation) replaceStrings(replaceFunc func(string) string) {
    10  	if annotation != nil {
    11  		annotation.URL = replaceFunc(annotation.URL)
    12  	}
    13  }
    14  
    15  func (image *Image) registerStrings(registerFunc func(string)) {
    16  	registerFunc(image.CreatedBy)
    17  	image.Filter.RegisterStrings(registerFunc)
    18  	image.FileSystem.RegisterStrings(registerFunc)
    19  	image.Triggers.RegisterStrings(registerFunc)
    20  	image.ReleaseNotes.registerStrings(registerFunc)
    21  	image.BuildLog.registerStrings(registerFunc)
    22  	for index := range image.Packages {
    23  		pkg := &image.Packages[index]
    24  		pkg.registerStrings(registerFunc)
    25  	}
    26  	for key, value := range image.Tags {
    27  		registerFunc(key)
    28  		registerFunc(value)
    29  	}
    30  }
    31  
    32  func (image *Image) replaceStrings(replaceFunc func(string) string) {
    33  	image.CreatedBy = replaceFunc(image.CreatedBy)
    34  	image.Filter.ReplaceStrings(replaceFunc)
    35  	image.FileSystem.ReplaceStrings(replaceFunc)
    36  	image.Triggers.ReplaceStrings(replaceFunc)
    37  	image.ReleaseNotes.replaceStrings(replaceFunc)
    38  	image.BuildLog.replaceStrings(replaceFunc)
    39  	for index := range image.Packages {
    40  		pkg := &image.Packages[index]
    41  		pkg.replaceStrings(replaceFunc)
    42  	}
    43  	for key, value := range image.Tags {
    44  		image.Tags[key] = replaceFunc(value)
    45  	}
    46  }
    47  
    48  func (pkg *Package) registerStrings(registerFunc func(string)) {
    49  	registerFunc(pkg.Name)
    50  	registerFunc(pkg.Version)
    51  }
    52  
    53  func (pkg *Package) replaceStrings(replaceFunc func(string) string) {
    54  	pkg.Name = replaceFunc(pkg.Name)
    55  	pkg.Version = replaceFunc(pkg.Version)
    56  }