// Deserializes the yaml file at the given path to the supplied object. func (gw *GhostWriter) unyaml(path string, out interface{}) (err error) { var ( file fauxfile.File info os.FileInfo data []byte ) if file, err = gw.fs.Open(path); err != nil { return } defer file.Close() if info, err = file.Stat(); err != nil { return } data = make([]byte, info.Size()) if _, err = file.Read(data); err != nil { return } err = yaml.Unmarshal(data, out) return }
func ReadFile(fs fauxfile.Filesystem, path string) (data string, err error) { var ( f fauxfile.File fi os.FileInfo ) if f, err = fs.Open(path); err != nil { return } defer f.Close() if fi, err = f.Stat(); err != nil { return } buf := make([]byte, fi.Size()) if _, err = f.Read(buf); err != nil { if err != io.EOF { return } err = nil } data = string(buf) return }
// Reads a file from the given path and returns a string of the contents. func (ts *Templates) readFile(path string) (out string, err error) { var ( f fauxfile.File fi os.FileInfo buf []byte ) if f, err = ts.fs.Open(path); err != nil { return } defer f.Close() if fi, err = f.Stat(); err != nil { return } buf = make([]byte, fi.Size()) if _, err = f.Read(buf); err != nil { if err != io.EOF { return } err = nil } out = string(buf) return }