rename configFiles > configFileChain

This commit is contained in:
satotake 2017-04-04 01:50:16 +09:00
parent 33923af746
commit fb72938b55
2 changed files with 25 additions and 25 deletions

View file

@ -145,11 +145,11 @@ type Viper struct {
remoteProviders []*defaultRemoteProvider remoteProviders []*defaultRemoteProvider
// Name of file to look for inside the path // Name of file to look for inside the path
configName string configName string
configFile string configFile string
configFiles []string configFileChain []string
configType string configType string
envPrefix string envPrefix string
automaticEnvApplied bool automaticEnvApplied bool
envKeyReplacer *strings.Replacer envKeyReplacer *strings.Replacer
@ -292,12 +292,12 @@ func (v *Viper) SetConfigFile(in string) {
} }
} }
// SetConfigFiles explicitly defines slice of the path, name and extension of the config files // SetConfigFileChain explicitly defines slice of the path, name and extension of the config files
// Viper will use these and not check any of the config paths // Viper will use these and not check any of the config paths
func SetConfigFiles(in []string) { v.SetConfigFiles(in) } func SetConfigChain(in []string) { v.SetConfigFileChain(in) }
func (v *Viper) SetConfigFiles(in []string) { func (v *Viper) SetConfigFileChain(in []string) {
if len(in) > 0 { if len(in) > 0 {
v.configFiles = in v.configFileChain = in
} }
} }
@ -1141,17 +1141,17 @@ func (v *Viper) MergeInConfig() error {
return v.MergeConfig(bytes.NewReader(file)) return v.MergeConfig(bytes.NewReader(file))
} }
// ChainMergeConfigfiles repeatedly merge with configFiles // MergeConfigFileChain repeatedly merge with configFileChain
func ChainMergeConfigFiles() error { return v.ChainMergeConfigFiles() } func MergeConfigFileChain() error { return v.MergeConfigFileChain() }
func (v *Viper) ChainMergeConfigFiles() error { func (v *Viper) MergeConfigFileChain() error {
jww.INFO.Println("Attempting to chain merge with configFiles") jww.INFO.Println("Attempting to chain merge with configFileChain")
configFiles, err := v.getConfigFiles() configFileChain, err := v.getConfigFileChain()
if err != nil { if err != nil {
return err return err
} }
for i, filename := range configFiles { for i, filename := range configFileChain {
if i == 0 { if i == 0 {
v.SetConfigFile(filename) v.SetConfigFile(filename)
err := v.ReadInConfig() err := v.ReadInConfig()
@ -1544,11 +1544,11 @@ func (v *Viper) getConfigFile() (string, error) {
return v.getConfigFile() return v.getConfigFile()
} }
func (v *Viper) getConfigFiles() ([]string, error) { func (v *Viper) getConfigFileChain() ([]string, error) {
// if explicitly set, then use it // if explicitly set, then use it
// else search config file and return as slice // else search config file and return as slice
if len(v.configFiles) > 0 { if len(v.configFileChain) > 0 {
return v.configFiles, nil return v.configFileChain, nil
} }
cf, err := v.findConfigFile() cf, err := v.findConfigFile()
@ -1556,8 +1556,8 @@ func (v *Viper) getConfigFiles() ([]string, error) {
return nil, err return nil, err
} }
v.configFiles = []string{cf} v.configFileChain = []string{cf}
return v.getConfigFiles() return v.getConfigFileChain()
} }
func (v *Viper) searchInPath(in string) (filename string) { func (v *Viper) searchInPath(in string) (filename string) {

View file

@ -1193,7 +1193,7 @@ func initConfigsForMerge(t *testing.T) (string, string, func()) {
} }
} }
func TestChainMergeConfig(t *testing.T) { func TestMergeConfigChain(t *testing.T) {
root, config, cleanup := initConfigsForMerge(t) root, config, cleanup := initConfigsForMerge(t)
defer cleanup() defer cleanup()
@ -1209,8 +1209,8 @@ func TestChainMergeConfig(t *testing.T) {
configfile := path.Join(root, e.Name(), config) configfile := path.Join(root, e.Name(), config)
configfiles = append(configfiles, configfile) configfiles = append(configfiles, configfile)
v.SetConfigFiles(configfiles[:i+1]) v.SetConfigFileChain(configfiles[:i+1])
err = v.ChainMergeConfigFiles() err = v.MergeConfigFileChain()
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, `value is `+e.Name(), v.GetString(`key`)) assert.Equal(t, `value is `+e.Name(), v.GetString(`key`))
assert.Equal(t, `a`, v.GetString(`a`)) assert.Equal(t, `a`, v.GetString(`a`))
@ -1230,7 +1230,7 @@ func TestChainMergeConfig(t *testing.T) {
} }
} }
func TestNotSetConfigFilesChainMerge(t *testing.T) { func TestNotSetConfigFileChainMerge(t *testing.T) {
// If not set, behavior is identical to ReadInConfig // If not set, behavior is identical to ReadInConfig
root, config, cleanup := initDirs(t) root, config, cleanup := initDirs(t)
@ -1248,7 +1248,7 @@ func TestNotSetConfigFilesChainMerge(t *testing.T) {
} }
assert.Nil(t, err) assert.Nil(t, err)
err = v.ChainMergeConfigFiles() err = v.MergeConfigFileChain()
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, `value is `+path.Base(v.configPaths[0]), v.GetString(`key`)) assert.Equal(t, `value is `+path.Base(v.configPaths[0]), v.GetString(`key`))