Skip to content

Commit

Permalink
Remove duplication when loading templates
Browse files Browse the repository at this point in the history
Previously we'd fetch the same files over and over again. Instead load them all
on init, since they don't change and they're frequently needed/reused.
  • Loading branch information
kevinburke committed Oct 26, 2016
1 parent 9f35281 commit bb24db2
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 111 deletions.
12 changes: 6 additions & 6 deletions assets/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 2 additions & 6 deletions assets/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@
// example.
package assets

func AssetString(name string) (string, error) {
b, err := Asset(name)
if err != nil {
return "", err
}
return string(b), nil
func MustAssetString(name string) string {
return string(MustAsset(name))
}
49 changes: 2 additions & 47 deletions server/calls.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
types "github.com/kevinburke/go-types"
"github.com/kevinburke/rest"
twilio "github.com/kevinburke/twilio-go"
"github.com/saintpete/logrole/assets"
"github.com/saintpete/logrole/config"
"github.com/saintpete/logrole/services"
"github.com/saintpete/logrole/views"
Expand All @@ -37,26 +36,6 @@ type callListServer struct {
func newCallListServer(l log.Logger, vc views.Client, lf services.LocationFinder,
pageSize uint, maxResourceAge time.Duration,
secretKey *[32]byte) (*callListServer, error) {
base, err := assets.AssetString("templates/base.html")
if err != nil {
return nil, err
}
listTpl, err := assets.AssetString("templates/calls/list.html")
if err != nil {
return nil, err
}
pagingTpl, err := assets.AssetString("templates/snippets/paging.html")
if err != nil {
return nil, err
}
phoneTpl, err := assets.AssetString("templates/snippets/phonenumber.html")
if err != nil {
return nil, err
}
copyScript, err := assets.AssetString("templates/snippets/copy-phonenumber.js")
if err != nil {
return nil, err
}
cs := &callListServer{
Logger: l,
Client: vc,
Expand All @@ -67,7 +46,7 @@ func newCallListServer(l log.Logger, vc views.Client, lf services.LocationFinder
}
templates, err := template.New("base").Option("missingkey=error").Funcs(funcMap).Funcs(template.FuncMap{
"is_our_pn": vc.IsTwilioNumber,
}).Parse(base + listTpl + pagingTpl + phoneTpl + copyScript)
}).Parse(base + callListTpl + pagingTpl + phoneTpl + copyScript)
if err != nil {
return nil, err
}
Expand All @@ -84,38 +63,14 @@ type callInstanceServer struct {

func newCallInstanceServer(l log.Logger, vc views.Client,
lf services.LocationFinder) (*callInstanceServer, error) {
base, err := assets.AssetString("templates/base.html")
if err != nil {
return nil, err
}
instanceTpl, err := assets.AssetString("templates/calls/instance.html")
if err != nil {
return nil, err
}
phoneTpl, err := assets.AssetString("templates/snippets/phonenumber.html")
if err != nil {
return nil, err
}
copyScript, err := assets.AssetString("templates/snippets/copy-phonenumber.js")
if err != nil {
return nil, err
}
recordingTpl, err := assets.AssetString("templates/calls/recordings.html")
if err != nil {
return nil, err
}
sidTpl, err := assets.AssetString("templates/snippets/sid.html")
if err != nil {
return nil, err
}
c := &callInstanceServer{
Logger: l,
Client: vc,
LocationFinder: lf,
}
templates, err := template.New("base").Option("missingkey=error").Funcs(funcMap).Funcs(template.FuncMap{
"is_our_pn": vc.IsTwilioNumber,
}).Parse(base + instanceTpl + recordingTpl + phoneTpl + sidTpl + copyScript)
}).Parse(base + callInstanceTpl + recordingTpl + phoneTpl + sidTpl + copyScript)
if err != nil {
return nil, err
}
Expand Down
1 change: 1 addition & 0 deletions server/conferences.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package server
Loading

0 comments on commit bb24db2

Please sign in to comment.