35 lines
672 B
Go
35 lines
672 B
Go
|
package config
|
||
|
|
||
|
type ConfigManager interface {
|
||
|
Find() (*Config, error)
|
||
|
Must() *Config
|
||
|
}
|
||
|
|
||
|
// configManager manages configuration data from a combination
|
||
|
// of command line args and .ini files.
|
||
|
type configManager struct {
|
||
|
dir string
|
||
|
conf *Config
|
||
|
}
|
||
|
|
||
|
// NewManager initiales a new CommitManager intended to
|
||
|
// manage and persist commits.
|
||
|
func NewManager(dir string) ConfigManager {
|
||
|
conf := Config{}
|
||
|
//conf.Host = "localhost"
|
||
|
//conf.Scheme = "http"
|
||
|
return &configManager{dir, &conf}
|
||
|
}
|
||
|
|
||
|
func (c *configManager) Find() (*Config, error) {
|
||
|
return nil, nil
|
||
|
}
|
||
|
|
||
|
func (c *configManager) Must() *Config {
|
||
|
conf, err := c.Find()
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
return conf
|
||
|
}
|