Merge pull request #30 from sascha-andres/dev

Store configuration in subdirectory
This commit is contained in:
Alessio Pracchia 2016-12-15 08:22:02 +01:00 committed by GitHub
commit d32d3d33b4
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/" + s.Resources.Config); 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)
}