class Xid::Generator
Attributes
value[RW]
Public Class Methods
new(rand_val = nil, machine_id = 0)
click to toggle source
# File lib/ruby_xid.rb, line 116 def initialize(rand_val = nil, machine_id = 0) @mutex = Mutex.new @rand_int = rand_val || rand(65_535) @pid = Process.pid @machine_id = machine_id end
Public Instance Methods
generate()
click to toggle source
# File lib/ruby_xid.rb, line 123 def generate # () -> str @mutex.synchronize do @rand_int += 1 end [::Time.new.to_i, @machine_id, @pid, @rand_int << 8].pack('N NX n NX') end