Sha256: e20427901934d50888d2e031e9fb63a31dc733610886be3d13d8d120e108378d
Contents?: true
Size: 986 Bytes
Versions: 1
Compression:
Stored size: 986 Bytes
Contents
# Copyright:: Copyright (c) 2004 Nicolas Despres. All rights reserved. # Author:: Nicolas Despres <polrop@lrde.epita.fr>. # License:: Gnu General Public License. # Revision:: $Id: generate_id.rb 214 2005-05-06 13:12:41Z ertai $ require 'md5' module Kernel def generate_id(&already_exist) md5 = Digest::MD5::new id = '' begin md5.update(id) md5.update(Time.now.to_s) md5.update(rand.to_s) md5.update($$.to_s) md5.update($0) id = md5.hexdigest[0,16] end while block_given? and already_exist[id] id end end # module Kernel if $0 == __FILE__ require 'test/unit' class GenerateIdTest < Test::Unit::TestCase def test_simple tab = [] 100.times { tab << generate_id } assert_equal(tab.size, tab.uniq.size) end def test_simple tab = [] bool = true 100.times { tab << generate_id { bool = !bool ; bool } } assert_equal(tab.size, tab.uniq.size) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vcs-0.2.148 | ruby_ex/generate_id.rb |