struct Xid

Included Modules

Defined in:

xid.cr

Constructors

Instance Method Summary

Constructor Detail

def self.from_bytes(raw : B12 | Bytes) : Xid #

generate a Xid from bytes

Example:

bytes = UInt8.static_array(0x4d, 0x88, 0xe1, 0x5b, 0x60, 0xf4, 0x86, 0xe4, 0x28, 0x41, 0x2d, 0xc9)
xid = Xid.from_bytes bytes
xid.debug

[View source]
def self.from_s(base32 : String) : Xid #

generate a Xid from base32 string

Example:

xid = Xid.from_s "9m4e2mr0ui3e8a215n4g"
xid.debug

[View source]
def self.generate : Xid #

generate a Xid

Example:

xid = Xid.generate
xid.debug

[View source]
def self.new(time : B4, machine_id : B3, process_id : B2, count : B3) #

[View source]

Instance Method Detail

def ==(other : self) #

[View source]
def as_bytes : Bytes #

Xid read only bytes view

Example:

xid = Xid.generate
puts xid.as_bytes

[View source]
def clone #

[View source]
def copy_with(time _time = @time, machine_id _machine_id = @machine_id, process_id _process_id = @process_id, count _count = @count) #

[View source]
def count : UInt32 #

resolve count from Xid

Example:

xid = Xid.generate
puts xid.count

[View source]
def debug #

print Xid debug info

Example:

xid = Xid.generate
xid.debug

[View source]
def machine_id : UInt32 #

resolve machine id from Xid

Example:

xid = Xid.generate
puts xid.machine_id

[View source]
def process_id : UInt16 #

resolve process id from Xid

Example:

xid = Xid.generate
puts xid.process_id

[View source]
def time : Time #

resolve time from Xid

Example:

xid = Xid.generate
puts xid.time

[View source]
def to_s : String #

Xid to base32 string

Example:

xid = Xid.generate
puts xid.to_s

[View source]