From 2985b28851ead6317abd78e62c40d3cef9935156 Mon Sep 17 00:00:00 2001 From: Sander Schobers Date: Sun, 8 Mar 2020 17:13:00 +0100 Subject: [PATCH] Adds FindFs and MustFindFs for the RiceFs. --- ricefs/fs.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 }