1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/securerandom.rb: new method SecureRandom#uuid

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@21869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
technorama 2009-01-29 03:20:35 +00:00
parent 309eb9aa34
commit 7752cacd83
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,7 @@
Thu Jan 29 12:18:54 2009 Technorama Ltd. <oss-ruby@technorama.net>
* lib/securerandom.rb: new method SecureRandom#uuid
Wed Jan 28 01:16:50 2009 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
* lib/erb.rb (def_erb_method): pass the trim_mode [Feature #1032]

View file

@ -134,4 +134,14 @@ module SecureRandom
Math.ldexp(i64 >> (64-Float::MANT_DIG), -Float::MANT_DIG)
end
end
# SecureRandom.uuid generates a v4 random UUID.
def self.uuid
str = self.random_bytes(16)
str[6] = (str[6] & 0x0f) | 0x40
str[8] = (str[8] & 0x3f) | 0x80
ary = str.unpack("NnnnnN")
"%08x-%04x-%04x-%04x-%04x%08x" % ary
end
end