module BarkingIguana::UniqueId
Constants
- VERSION
Attributes
hostname[W]
prefix[W]
Public Class Methods
generate()
click to toggle source
# File lib/barking_iguana/unique_id.rb, line 12 def self.generate t, n = Time.now.to_f.to_s.split('.', 2).map { |s| squash s } r = squash(rand(9_999_999_999)) [ prefix, t, n, r ].join '-' end
seed(seed)
click to toggle source
# File lib/barking_iguana/unique_id.rb, line 8 def self.seed seed srand seed end
Protected Class Methods
hostname()
click to toggle source
# File lib/barking_iguana/unique_id.rb, line 18 def self.hostname @hostname ||= Socket.gethostname.split(/\./, 2)[0] end
prefix()
click to toggle source
# File lib/barking_iguana/unique_id.rb, line 26 def self.prefix @prefix ||= [ VERSION, hostname, squash(Process.pid) ].join('-') end
squash(number)
click to toggle source
# File lib/barking_iguana/unique_id.rb, line 34 def self.squash number BaseN::Number.new(number.to_s, 10).rebase(62).to_s end