package rice
import "github.com/GeertJohan/go.rice"
Index ¶
- Constants
- Variables
- type Box
- func FindBox(name string) (*Box, error)
- func MustFindBox(name string) *Box
- func (b *Box) Bytes(name string) ([]byte, error)
- func (b *Box) HTTPBox() *HTTPBox
- func (b *Box) IsAppended() bool
- func (b *Box) IsEmbedded() bool
- func (b *Box) MustBytes(name string) []byte
- func (b *Box) MustString(name string) string
- func (b *Box) Name() string
- func (b *Box) Open(name string) (*File, error)
- func (b *Box) String(name string) (string, error)
- func (b *Box) Time() time.Time
- func (b *Box) Walk(path string, walkFn filepath.WalkFunc) error
- type Config
- func (c *Config) FindBox(boxName string) (*Box, error)
- func (c *Config) MustFindBox(boxName string) *Box
- type File
- func (f *File) Close() error
- func (f *File) Read(bts []byte) (int, error)
- func (f *File) Readdir(count int) ([]os.FileInfo, error)
- func (f *File) Readdirnames(count int) ([]string, error)
- func (f *File) Seek(offset int64, whence int) (int64, error)
- func (f *File) Stat() (os.FileInfo, error)
- type HTTPBox
- type LocateMethod
- type SortByModified
- func (f SortByModified) Len() int
- func (f SortByModified) Less(i, j int) bool
- func (f SortByModified) Swap(i, j int)
- type SortByName
Constants ¶
const ( LocateFS = LocateMethod(iota) // Locate on the filesystem according to package path. LocateAppended // Locate boxes appended to the executable. LocateEmbedded // Locate embedded boxes. LocateWorkingDirectory // Locate on the binary working directory )
Variables ¶
var Debug = false
Debug can be set to true to enable debugging.
Types ¶
type Box ¶
type Box struct {
// contains filtered or unexported fields
}
Box abstracts a directory for resources/files. It can either load files from disk, or from embedded code (when `rice --embed` was ran).
func FindBox ¶
FindBox returns a Box instance for given name. When the given name is a relative path, it's base path will be the calling pkg/cmd's source root. When the given name is absolute, it's absolute. derp. Make sure the path doesn't contain any sensitive information as it might be placed into generated go source (embedded).
func MustFindBox ¶
MustFindBox returns a Box instance for given name, like FindBox does. It does not return an error, instead it panics when an error occurs.
func (*Box) Bytes ¶
Bytes returns the content of the file with given name as []byte.
func (*Box) HTTPBox ¶
HTTPBox creates a new HTTPBox from an existing Box
func (*Box) IsAppended ¶
IsAppended indicates wether this box was appended to the application
func (*Box) IsEmbedded ¶
IsEmbedded indicates wether this box was embedded into the application
func (*Box) MustBytes ¶
MustBytes returns the content of the file with given name as []byte. panic's on error.
func (*Box) MustString ¶
MustString returns the content of the file with given name as string. panic's on error.
func (*Box) Name ¶
Name returns the name of the box
func (*Box) Open ¶
Open opens a File from the box If there is an error, it will be of type *os.PathError.
func (*Box) String ¶
String returns the content of the file with given name as string.
func (*Box) Time ¶
Time returns how actual the box is. When the box is embedded, it's value is saved in the embedding code. When the box is live, this methods returns time.Now()
func (*Box) Walk ¶
Walk is like filepath.Walk() Visit http://golang.org/pkg/path/filepath/#Walk for more information
type Config ¶
type Config struct { // LocateOrder defines the priority order that boxes are searched for. By // default, the package global FindBox searches for embedded boxes first, // then appended boxes, and then finally boxes on the filesystem. That // search order may be customized by provided the ordered list here. Leaving // out a particular method will omit that from the search space. For // example, []LocateMethod{LocateEmbedded, LocateAppended} will never search // the filesystem for boxes. LocateOrder []LocateMethod }
Config allows customizing the box lookup behavior.
func (*Config) FindBox ¶
FindBox searches for boxes using the LocateOrder of the config.
func (*Config) MustFindBox ¶
MustFindBox searches for boxes using the LocateOrder of the config, like FindBox does. It does not return an error, instead it panics when an error occurs.
type File ¶
type File struct {
// contains filtered or unexported fields
}
File implements the io.Reader, io.Seeker, io.Closer and http.File interfaces
func (*File) Close ¶
Close is like (*os.File).Close() Visit http://golang.org/pkg/os/#File.Close for more information
func (*File) Read ¶
Read is like (*os.File).Read() Visit http://golang.org/pkg/os/#File.Read for more information
func (*File) Readdir ¶
Readdir is like (*os.File).Readdir() Visit http://golang.org/pkg/os/#File.Readdir for more information
func (*File) Readdirnames ¶
Readdirnames is like (*os.File).Readdirnames() Visit http://golang.org/pkg/os/#File.Readdirnames for more information
func (*File) Seek ¶
Seek is like (*os.File).Seek() Visit http://golang.org/pkg/os/#File.Seek for more information
func (*File) Stat ¶
Stat is like (*os.File).Stat() Visit http://golang.org/pkg/os/#File.Stat for more information
type HTTPBox ¶
type HTTPBox struct { *Box }
HTTPBox implements http.FileSystem which allows the use of Box with a http.FileServer.
e.g.: http.Handle("/", http.FileServer(rice.MustFindBox("http-files").HTTPBox()))
func (*HTTPBox) Open ¶
Open returns a File using the http.File interface
type LocateMethod ¶
type LocateMethod int
LocateMethod defines how a box is located.
type SortByModified ¶
SortByModified allows an array of os.FileInfo objects to be easily sorted by modified date using sort.Sort(SortByModified(array))
func (SortByModified) Len ¶
func (f SortByModified) Len() int
func (SortByModified) Less ¶
func (f SortByModified) Less(i, j int) bool
func (SortByModified) Swap ¶
func (f SortByModified) Swap(i, j int)
type SortByName ¶
SortByName allows an array of os.FileInfo objects to be easily sorted by filename using sort.Sort(SortByName(array))
func (SortByName) Len ¶
func (f SortByName) Len() int
func (SortByName) Less ¶
func (f SortByName) Less(i, j int) bool
func (SortByName) Swap ¶
func (f SortByName) Swap(i, j int)
Source Files ¶
appended.go box.go config.go debug.go embedded.go file.go http.go sort.go virtual.go walk.go
Directories ¶
Path | Synopsis |
---|---|
embedded | Package embedded defines embedded data types that are shared between the go.rice package and generated code. |
example | |
rice |
- Version
- v1.0.3 (latest)
- Published
- Nov 16, 2022
- Platform
- js/wasm
- Imports
- 16 packages
- Last checked
- 2 hours ago –
Tools for package owners.