Store configuration in a .relaize subdirecotry

This commit is contained in:
Sascha Andres 2016-12-15 07:06:24 +01:00
parent b13b91a5e5
commit c85ef3c8a0
1 changed files with 12 additions and 3 deletions

View File

@ -1,6 +1,8 @@
package settings
import (
"os"
"gopkg.in/yaml.v2"
)
@ -30,7 +32,11 @@ type Resources struct {
// Read from the configuration file
func (s *Settings) Read(out interface{}) error {
content, err := s.Stream(s.Resources.Config)
localConfigPath := s.Resources.Config
if _, err := os.Stat(".realize/"); err == nil {
localConfigPath = ".realize/" + s.Resources.Config
}
content, err := s.Stream(localConfigPath)
if err == nil {
err = yaml.Unmarshal(content, out)
return err
@ -39,10 +45,13 @@ func (s *Settings) Read(out interface{}) error {
}
// Record create and unmarshal the yaml config file
func (h *Settings) Record(out interface{}) error {
func (s *Settings) Record(out interface{}) error {
y, err := yaml.Marshal(out)
if err != nil {
return err
}
return h.Write(h.Resources.Config, y)
if _, err := os.Stat(".realize/"); os.IsNotExist(err) {
os.Mkdir(".realize", 0770)
}
return s.Write(".realize/"+s.Resources.Config, y)
}