Skip to content

Commit 9366c07

Browse files
committed
Refactor seeding
1 parent d2dfa1b commit 9366c07

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

seed/seed.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ func New(pp ...Param) *Seeder {
4646
return &Seeder{getters: gg}
4747
}
4848

49+
type fieldMap map[*config.Field]bool
50+
4951
type flagInfo struct {
5052
key string
5153
field *config.Field
@@ -54,19 +56,19 @@ type flagInfo struct {
5456

5557
// Seed the provided config with values for their sources.
5658
func (s *Seeder) Seed(cfg *config.Config) error {
57-
seedMap := make(map[*config.Field]bool, len(cfg.Fields))
59+
seeded := make(fieldMap, len(cfg.Fields))
5860
flagSet := flag.NewFlagSet("Harvester flags", flag.ContinueOnError)
5961

6062
var flagInfos []*flagInfo
6163
for _, f := range cfg.Fields {
62-
seedMap[f] = false
64+
seeded[f] = false
6365

64-
err := processSeedField(f, seedMap)
66+
err := processSeedField(f, seeded)
6567
if err != nil {
6668
return err
6769
}
6870

69-
err = processEnvField(f, seedMap)
71+
err = processEnvField(f, seeded)
7072
if err != nil {
7173
return err
7274
}
@@ -76,31 +78,31 @@ func (s *Seeder) Seed(cfg *config.Config) error {
7678
flagInfos = append(flagInfos, fi)
7779
}
7880

79-
err = processFileField(f, seedMap)
81+
err = processFileField(f, seeded)
8082
if err != nil {
8183
return err
8284
}
8385

84-
err = s.processConsulField(f, seedMap)
86+
err = s.processConsulField(f, seeded)
8587
if err != nil {
8688
return err
8789
}
8890

89-
err = s.processRedisField(f, seedMap)
91+
err = s.processRedisField(f, seeded)
9092
if err != nil {
9193
return err
9294
}
9395
}
9496

95-
err := processFlags(flagInfos, flagSet, seedMap)
97+
err := processFlags(flagInfos, flagSet, seeded)
9698
if err != nil {
9799
return err
98100
}
99101

100-
return evaluateSeedMap(seedMap)
102+
return evaluateSeedMap(seeded)
101103
}
102104

103-
func processSeedField(f *config.Field, seedMap map[*config.Field]bool) error {
105+
func processSeedField(f *config.Field, seedMap fieldMap) error {
104106
val, ok := f.Sources()[config.SourceSeed]
105107
if !ok {
106108
return nil
@@ -114,7 +116,7 @@ func processSeedField(f *config.Field, seedMap map[*config.Field]bool) error {
114116
return nil
115117
}
116118

117-
func processEnvField(f *config.Field, seedMap map[*config.Field]bool) error {
119+
func processEnvField(f *config.Field, seedMap fieldMap) error {
118120
key, ok := f.Sources()[config.SourceEnv]
119121
if !ok {
120122
return nil
@@ -138,7 +140,7 @@ func processEnvField(f *config.Field, seedMap map[*config.Field]bool) error {
138140
return nil
139141
}
140142

141-
func processFileField(f *config.Field, seedMap map[*config.Field]bool) error {
143+
func processFileField(f *config.Field, seedMap fieldMap) error {
142144
key, ok := f.Sources()[config.SourceFile]
143145
if !ok {
144146
return nil
@@ -160,7 +162,7 @@ func processFileField(f *config.Field, seedMap map[*config.Field]bool) error {
160162
return nil
161163
}
162164

163-
func (s *Seeder) processConsulField(f *config.Field, seedMap map[*config.Field]bool) error {
165+
func (s *Seeder) processConsulField(f *config.Field, seedMap fieldMap) error {
164166
key, ok := f.Sources()[config.SourceConsul]
165167
if !ok {
166168
return nil
@@ -187,7 +189,7 @@ func (s *Seeder) processConsulField(f *config.Field, seedMap map[*config.Field]b
187189
return nil
188190
}
189191

190-
func (s *Seeder) processRedisField(f *config.Field, seedMap map[*config.Field]bool) error {
192+
func (s *Seeder) processRedisField(f *config.Field, seedMap fieldMap) error {
191193
key, ok := f.Sources()[config.SourceRedis]
192194
if !ok {
193195
return nil
@@ -224,7 +226,7 @@ func processFlagField(f *config.Field, flagSet *flag.FlagSet) (*flagInfo, bool)
224226
return &flagInfo{key, f, &val}, true
225227
}
226228

227-
func processFlags(infos []*flagInfo, flagSet *flag.FlagSet, seedMap map[*config.Field]bool) error {
229+
func processFlags(infos []*flagInfo, flagSet *flag.FlagSet, seedMap fieldMap) error {
228230
if len(infos) == 0 {
229231
return nil
230232
}
@@ -267,7 +269,7 @@ func processFlags(infos []*flagInfo, flagSet *flag.FlagSet, seedMap map[*config.
267269
return nil
268270
}
269271

270-
func evaluateSeedMap(seedMap map[*config.Field]bool) error {
272+
func evaluateSeedMap(seedMap fieldMap) error {
271273
sb := strings.Builder{}
272274
for f, seeded := range seedMap {
273275
if !seeded {

0 commit comments

Comments
 (0)