Skip to content

rizvn/registry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Install

go get github.com/rizvn/registry

Example Usage of the Library

Create a registry instance and initialize it:

register := registry.Registry{}
register.Init()

Define a Registerable instance

type Db struct {
	dbx      *sqlx.DB
	gorm     *gorm.DB
	DbHost   string
	DbPort   string
	DbUser   string
	DbPass   string
	DBName   string
	DbParams string
}

// Register implements the registry.Registerable interface
func (r *Db) Register(reg *registry.Registry) {
	r.DbUser = util.GetRequiredEnvVar("DB_USER")
	r.DbPass = util.GetRequiredEnvVar("DB_PASS")
	r.DbHost = util.GetRequiredEnvVar("DB_HOST")
	r.DbPort = util.GetRequiredEnvVar("DB_PORT")
	r.DBName = util.GetRequiredEnvVar("DB_NAME")
	r.DbParams = os.Getenv("DB_PARAMS")

	// .. additional initialization logic..
	
	// Set the instance in the registry
	reg.Set(r)
}

Add a registerable instance

register.Add(&db.Db{})

Build Register

register.Build()

Access the registered instance

dbInstance := register.Get(&db.Db{}).(*db.Db)

About

A library to hold global collections of objects so they can be injected

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages