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

     1  package triggers
     2  
     3  import (
     4  	"encoding/json"
     5  	"errors"
     6  	"io"
     7  	"os"
     8  
     9  	libjson "github.com/Cloud-Foundations/Dominator/lib/json"
    10  )
    11  
    12  func load(filename string) (*Triggers, error) {
    13  	file, err := os.Open(filename)
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  	defer file.Close()
    18  	return Read(file)
    19  }
    20  
    21  func decode(jsonData []byte) (*Triggers, error) {
    22  	var trig Triggers
    23  	if err := json.Unmarshal(jsonData, &trig.Triggers); err != nil {
    24  		return nil, errors.New("error decoding triggers " + err.Error())
    25  	}
    26  	return &trig, nil
    27  }
    28  
    29  func read(reader io.Reader) (*Triggers, error) {
    30  	var trig Triggers
    31  	if err := libjson.Read(reader, &trig.Triggers); err != nil {
    32  		return nil, errors.New("error decoding triggers " + err.Error())
    33  	}
    34  	return &trig, nil
    35  }