module Bakelite

Included Modules

Defined in:

bakelite.cr
bakelite/chunker.cr
bakelite/container/format.cr
bakelite/container/reader.cr
bakelite/container/writer.cr
bakelite/core/integrity_verifier.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/dsl/verify_archive_builder.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 = 9
MAJOR_VERSION = 0
MINOR_VERSION = 1
VERSION = "0.1.9"

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 #

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

[View source]
def self.carbon_version : Carbon::Version #

[View source]
def self.content_manifest : Hash(String, String) #

[View source]
def self.define_archive_verifier(&) : Core::IntegrityVerifier #

Constructs a configured Core::IntegrityVerifier without immediately executing it.


[View source]
def self.each_file(&block : Bakelite::Item -> ) : Nil #

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

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

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

Extracts an entire volume by name to destination directory.


[View source]
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.


[View source]
def self.files : Array(String) #

[View source]
def self.find_all_by_sha256(digest : String) : Array(Bakelite::Item) #

[View source]
def self.find_by_sha256(digest : String) : Bakelite::Item | Nil #

[View source]
def self.fs : Bakelite::FS::Registry #

Top-level global filesystem registry


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

Direct lookups & routing


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

[View source]
def self.get_by_sha256(digest : String) : Bakelite::Item #

[View source]
def self.get_by_sha256?(digest : String) : Bakelite::Item | Nil #

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

[View source]
def self.glob(pattern : String) : Array(Bakelite::Item) #

[View source]
def self.has_file?(path : String) : Bool #

[View source]
def self.has_sha256?(digest : String) : Bool #

[View source]
def self.manifest_sha256 : String #

[View source]
def self.mount(volume : Bakelite::Volume) : Bakelite::Volume #

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

[View source]
def self.mount_self!(priority : Int32 = 0) : Bool #

[View source]
def self.open(path : String) : IO #

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

[View source]
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.


[View source]
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.


[View source]
def self.pack_to_slice(volumes : Array(Volume)) : Bytes #

Packs an array of preconfigured volumes into an in-memory .bkl container byte slice.


[View source]
def self.unmount(volume_name : Symbol | String) : Bool #

[View source]
def self.verify_archive(target : Bakelite::DSL::VerificationTarget | Nil = nil, raise_on_error : Bool = false, expected_digests : Hash(String, String) | Nil = nil, expected_manifest_sha256 : String | Nil = nil, strict : Bool = false) : Bakelite::Core::VerificationReport #

[View source]
def self.verify_archive(target : Bakelite::DSL::VerificationTarget | Nil = nil, raise_on_error : Bool = false, &) : Bakelite::Core::VerificationReport #

[View source]
def self.verify_archive!(target : Bakelite::DSL::VerificationTarget | Nil = nil, expected_digests : Hash(String, String) | Nil = nil, expected_manifest_sha256 : String | Nil = nil, strict : Bool = false) : Bakelite::Core::VerificationReport #

[View source]
def self.verify_archive!(target : Bakelite::DSL::VerificationTarget | Nil = nil, &) : Bakelite::Core::VerificationReport #

[View source]
def self.version : String #

[View source]
def self.volume(name : Symbol | String) : Bakelite::Volume #

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

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

[View source]
def self.volumes : Array(Bakelite::Volume) #

[View source]