Provide combined parse and execute method for the template renderer.
This commit is contained in:
parent
92bb2d9d7b
commit
0e2625bf51
5 changed files with 46 additions and 46 deletions
|
|
@ -19,15 +19,15 @@ import (
|
|||
)
|
||||
|
||||
type Container struct {
|
||||
Web *echo.Echo
|
||||
Config *config.Config
|
||||
Cache *cache.Cache
|
||||
cacheClient *redis.Client
|
||||
Database *sql.DB
|
||||
ORM *ent.Client
|
||||
Mail *MailClient
|
||||
Auth *AuthClient
|
||||
Templates *TemplateRenderer
|
||||
Web *echo.Echo
|
||||
Config *config.Config
|
||||
Cache *cache.Cache
|
||||
cacheClient *redis.Client
|
||||
Database *sql.DB
|
||||
ORM *ent.Client
|
||||
Mail *MailClient
|
||||
Auth *AuthClient
|
||||
TemplateRenderer *TemplateRenderer
|
||||
}
|
||||
|
||||
func NewContainer() *Container {
|
||||
|
|
@ -140,12 +140,12 @@ func (c *Container) initAuth() {
|
|||
}
|
||||
|
||||
func (c *Container) initTemplateRenderer() {
|
||||
c.Templates = NewTemplateRenderer(c.Config)
|
||||
c.TemplateRenderer = NewTemplateRenderer(c.Config)
|
||||
}
|
||||
|
||||
func (c *Container) initMail() {
|
||||
var err error
|
||||
c.Mail, err = NewMailClient(c.Config, c.Templates)
|
||||
c.Mail, err = NewMailClient(c.Config, c.TemplateRenderer)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to create mail client: %v", err))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,4 +14,5 @@ func TestNewContainer(t *testing.T) {
|
|||
assert.NotNil(t, c.ORM)
|
||||
assert.NotNil(t, c.Mail)
|
||||
assert.NotNil(t, c.Auth)
|
||||
assert.NotNil(t, c.TemplateRenderer)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,20 @@ func NewTemplateRenderer(cfg *config.Config) *TemplateRenderer {
|
|||
return t
|
||||
}
|
||||
|
||||
func (t *TemplateRenderer) ParseAndExecute(module, key, name string, files []string, directories []string, data interface{}) (*bytes.Buffer, error) {
|
||||
var buf *bytes.Buffer
|
||||
var err error
|
||||
|
||||
if err = t.Parse(module, key, name, files, directories); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = t.Execute(module, key, name, data); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf, nil
|
||||
}
|
||||
|
||||
func (t *TemplateRenderer) Parse(module, key, name string, files []string, directories []string) error {
|
||||
cacheKey := t.getCacheKey(module, key)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue