diff --git a/ricefs/fs.go b/ricefs/fs.go index b3a2b1c..ea876c4 100644 --- a/ricefs/fs.go +++ b/ricefs/fs.go @@ -11,10 +11,27 @@ import ( var _ afero.Fs = &RiceFs{} +// FindFs tries to find a rice.Box by its name and wraps in into a RiceFs. +func FindFs(name string) (*RiceFs, error) { + box, err := rice.FindBox(name) + if err != nil { + return nil, err + } + return NewFs(box), nil +} + +// NewFs creates a new RiceFs based on the supplied rice.Box. func NewFs(b *rice.Box) *RiceFs { return &RiceFs{b} } +// MustFindFs tries to find a rice.Box by its name and wraps in into a RiceFs. If the box is not found the method panics. +func MustFindFs(name string) *RiceFs { + box := rice.MustFindBox(name) + return NewFs(box) +} + +// RiceFs represents an afero.Fs based on an underlying rice.Box. type RiceFs struct { Box *rice.Box }