コード例 #1
0
ファイル: server.go プロジェクト: sarifsystems/sarif
func (s *Server) instantiate(m *services.Module) (interface{}, error) {
	inj := inject.NewInjector()
	inj.Instance(s.Broker)
	inj.Factory(func() services.Config {
		return nullConfig{}
	})
	inj.Factory(func() sarif.Conn {
		return s.Broker.NewLocalConn()
	})
	inj.Factory(func() *sarif.Client {
		c := sarif.NewClient("js/" + m.Name)
		c.Connect(s.Broker.NewLocalConn())
		return c
	})
	return inj.Create(m.NewInstance)
}
コード例 #2
0
ファイル: app.go プロジェクト: sarifsystems/sarif
func (app *App) Inject(name string, container interface{}) error {
	inj := inject.NewInjector()
	app.SetupInjector(inj, name)
	return inj.Inject(container)
}
コード例 #3
0
ファイル: server.go プロジェクト: sarifsystems/sarif
func (s *Server) instantiate(m *services.Module) (interface{}, error) {
	inj := inject.NewInjector()
	s.SetupInjector(inj, m.Name)
	return inj.Create(m.NewInstance)
}
コード例 #4
0
ファイル: server.go プロジェクト: sarifsystems/sarif
func (s *Server) Inject(name string, container interface{}) error {
	inj := inject.NewInjector()
	s.SetupInjector(inj, name)
	return inj.Inject(container)
}