github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/integrations/integrations.go (about) 1 package integrations 2 3 import ( 4 "embed" 5 "fmt" 6 7 "github.com/lmorg/murex/config/defaults" 8 ) 9 10 var resources map[string]*embed.FS 11 12 func init() { 13 resources = make(map[string]*embed.FS) 14 } 15 16 func Profiles() []*defaults.DefaultProfileT { 17 var profiles []*defaults.DefaultProfileT 18 19 for resName, res := range resources { 20 21 files, err := res.ReadDir(`.`) 22 if err != nil { 23 panic(fmt.Sprintf("err in res.ReadDir(`.`) against resources[%s]: %s", resName, err.Error())) 24 } 25 26 for _, f := range files { 27 b, err := res.ReadFile(f.Name()) 28 if err != nil { 29 panic(fmt.Sprintf("err in res.ReadFile(%s) against resources[%s]: %s", f.Name(), resName, err.Error())) 30 } 31 32 profiles = append(profiles, &defaults.DefaultProfileT{ 33 Name: f.Name()[:len(f.Name())-3], // strip ".mx" from filename 34 Block: b, 35 }) 36 } 37 38 } 39 40 return profiles 41 }