module BakedFileSystem
Overview
A BakedFileSystem allows to include ("bake") static files into a compiled
binary and make them accessible at runtime using their path.
Usage
# Using BakedFileSystem.load
class MyFileSystem
extend BakedFileSystem
bake_folder "path/to/root/folder"
end
# Creating a file manually
class MyFileSystem
extend BakedFileSystem
bake_file "hello-world.txt", "Hello World\n"
end
Defined in:
baked_file_system.crbaked_file_system/version.cr
loader/loader.cr
Constant Summary
-
VERSION =
"0.9.0"
Macro Summary
-
bake_folder(path, dir = __DIR__, allow_empty = false)
Bakes all files in path into this baked file system.
-
load(path, dir = __DIR__, allow_empty = false)
Creates a baked file system and loads contents of files in path.
Instance Method Summary
-
#bake_file(path : String, content)
Creates a
BakedFileat path with content content and adds it to this file system. -
#bake_file(file : BakedFile)
Adds a baked file to this file system.
-
#files : Array(BakedFileSystem::BakedFile)
Returns all virtual files in this file system.
-
#get(path : String) : BakedFile
Returns a
BakedFileat path. -
#get?(path : String) : BakedFile | Nil
Returns a
BakedFileat path ornilif the virtual file does not exist.
Macro Detail
Bakes all files in path into this baked file system.
If path is relative, it will be based on dir which defaults to __DIR__.
It will raise if there are no files found in path unless allow_empty is set to true.
Creates a baked file system and loads contents of files in path.
If path is relative, it will be based on dir which defaults to __DIR__.
It will raise if there are no files found in path unless allow_empty is set to true.
DEPRECATED Use extend BakedFileSystem and bake_folder instead.
Instance Method Detail
Creates a BakedFile at path with content content and adds it to this file system.
Returns a BakedFile at path.
Raises NoSuchFileError if the virtual file does not exist.
Returns a BakedFile at path or nil if the virtual file does not exist.