class Bakelite::BakedItem

Overview

Directly inlined static asset (Bake mode). Holds a direct reference to static binary data in memory for instant, zero-copy reads.

Defined in:

bakelite/item.cr

Constructors

Instance Method Summary

Instance methods inherited from class Bakelite::Item

compressed_size : Int64 compressed_size, compute_crc32 : UInt32 compute_crc32, compute_sha256 : String compute_sha256, content : String content, content_address : String content_address, crc32 : UInt32 crc32, crc32_hex : String crc32_hex, etag : String etag, extract(target_path : Path | String, overwrite : Bool = true) : Bool extract, mime_type : String mime_type, open : IO
open(&block : IO -> T) : T forall T
open
, path : String path, sha256 : String sha256, sha256_bytes : Bytes sha256_bytes, size : Int64 size, storage_mode : StorageMode storage_mode, strong_etag : String strong_etag, to_s(io : IO) : Nil
to_s : String
to_s
, to_slice : Bytes to_slice, verify_crc32? : Bool verify_crc32?, verify_sha256?(expected_digest : String) : Bool verify_sha256?, volume_name : String volume_name

Constructor methods inherited from class Bakelite::Item

new(path : String, volume_name : Symbol | String, size : Int64, compressed_size : Int64, mime_type : String, crc32 : UInt32, storage_mode : StorageMode, sha256 : String | Nil = nil) new

Class methods inherited from class Bakelite::Item

normalize_sha256(digest : String) : String normalize_sha256

Constructor Detail

def self.from_string(path : String, volume_name : Symbol | String, str : String, mime_type : String | Nil = nil, crc32 : UInt32 | Nil = nil, sha256 : String | Nil = nil) : BakedItem #

Fast constructor from string literal


[View source]
def self.new(path : String, volume_name : Symbol | String, data : Bytes, mime_type : String | Nil = nil, crc32 : UInt32 | Nil = nil, sha256 : String | Nil = nil) #

[View source]

Instance Method Detail

def compute_crc32 : UInt32 #
Description copied from class Bakelite::Item

Recomputes the CRC32 checksum by streaming the uncompressed content.


[View source]
def compute_sha256 : String #
Description copied from class Bakelite::Item

Recomputes the lowercase hex SHA-256 digest by streaming the uncompressed content.


[View source]
def data : Bytes #

[View source]
def open : IO #
Description copied from class Bakelite::Item

Opens a readable stream for this asset.


[View source]
def to_s(io : IO) : Nil #
Description copied from class Bakelite::Item

Streams the content into the given output IO.


[View source]
def to_s : String #
Description copied from class Bakelite::Item

Returns the content as a UTF-8 String.


[View source]
def to_slice : Bytes #
Description copied from class Bakelite::Item

Returns the full contents as a byte slice.


[View source]