module Bakelite

Included Modules

Defined in:

bakelite.cr
bakelite/chunker.cr
bakelite/container/format.cr
bakelite/container/reader.cr
bakelite/container/writer.cr
bakelite/docs.cr
bakelite/docs/a_overview/introduction.cr
bakelite/docs/b_architecture/chunking_and_io.cr
bakelite/docs/c_dsl/macros_and_volumes.cr
bakelite/docs/d_containers/binary_containers.cr
bakelite/docs/e_scale/large_asset_streaming.cr
bakelite/docs/f_concurrency/thread_safety.cr
bakelite/dsl.cr
bakelite/file_io.cr
bakelite/fs.cr
bakelite/glob.cr
bakelite/item.cr
bakelite/mime.cr
bakelite/transform/builtins.cr
bakelite/transform/cache.cr
bakelite/transform/runner.cr
bakelite/types.cr
bakelite/version.cr
bakelite/volume.cr
cli/main.cr

Constant Summary

COMMIT_VERSION = 0
MAJOR_VERSION = 0
MINOR_VERSION = 1
VERSION = "0.1.0"

Class Method Summary

Macros inherited from module Bakelite::DSL

bake(path, as_path = nil, volume = :root, transform = nil) bake, bake_folder(dir, prefix = "", volume = :root, transform = nil, exclude = [] of String) bake_folder, bake_manifest(manifest_path, base_dir = ".") bake_manifest, define_volume(name, mount = "", priority = 0, chunk_size = 65536, compress = :deflate, &block) define_volume, embed_folder(dir, prefix = "", volume = :root, auto = true, threshold = 16384, chunk_size = 65536, compress = :deflate, exclude = [] of String) embed_folder, store(path, as_path = nil, volume = :root, chunk_size = 65536, compress = :deflate, transform = nil) store, store_folder(dir, prefix = "", volume = :root, chunk_size = 65536, compress = :deflate, transform = nil, exclude = [] of String) store_folder, volume(name, mount = "", priority = 0, chunk_size = 65536, compress = :deflate, &block) volume

Class methods inherited from module Bakelite::FS

extract_volume(name : Symbol | String, destination_dir : Path | String, overwrite : Bool = true) : Int32 extract_volume, extract_volume_folder(name : Symbol | String, prefix : String, destination_dir : Path | String, overwrite : Bool = true) : Int32 extract_volume_folder

Class Method Detail

def self.[](path : String) : Bakelite::Item #

def self.[]?(path : String) : Bakelite::Item | Nil #

def self.carbon_version : Carbon::Version #

def self.each_file(&block : Bakelite::Item -> ) : Nil #

def self.extract_all(destination_dir : Path | String, overwrite : Bool = true) : Int32 #

def self.extract_folder(prefix : String, destination_dir : Path | String, overwrite : Bool = true) : Int32 #

def self.extract_volume(name : Symbol | String, dest : Path | String, overwrite : Bool = true) : Int32 #

Extracts an entire volume by name to destination directory.


def self.extract_volume_folder(name : Symbol | String, prefix : String, dest : Path | String, overwrite : Bool = true) : Int32 #

Extracts a specific subfolder from a volume to destination directory.


def self.files : Array(String) #

def self.fs : Bakelite::FS::Registry #

Top-level global filesystem registry


def self.get(path : String) : Bakelite::Item #

Direct lookups & routing


def self.get?(path : String) : Bakelite::Item | Nil #

def self.glob(pattern : String, &block : Bakelite::Item -> ) : Nil #

def self.glob(pattern : String) : Array(Bakelite::Item) #

def self.has_file?(path : String) : Bool #

def self.mount(volume : Bakelite::Volume) : Bakelite::Volume #

def self.mount_file(archive_path : String | Path, volume_name : Symbol | String | Nil = nil, mount : String | Nil = nil, priority : Int32 = 0) : Bakelite::Volume | Nil #

def self.mount_self!(priority : Int32 = 0) : Bool #

def self.open(path : String) : IO #

def self.open(path : String, &block : IO -> T) : T forall T #

def self.pack(target : Path | String, source_dir : Path | String, volume : Symbol | String = :root, mount_point : String = "", priority : Int32 = 0, chunk_size : UInt32 = 65536_u32, compression : CompressionType = CompressionType::Deflate, exclude : Array(String) = [] of String, append : Bool = true) : Int64 #

Programmatic container packing API: packs a directory into a target container or appends to an executable.


def self.pack(target : Path | String, volumes : Array(Volume), append : Bool = true) : Int64 #

Programmatic container packing API: packs an array of preconfigured volumes into a target container.


def self.unmount(volume_name : Symbol | String) : Bool #

def self.version : String #

def self.volume(name : Symbol | String) : Bakelite::Volume #

def self.volume(name : Symbol | String, mount : String = "", priority : Int32 = 0, &block : Bakelite::Volume -> ) : Bakelite::Volume #

def self.volume?(name : Symbol | String) : Bakelite::Volume | Nil #

def self.volumes : Array(Bakelite::Volume) #