Generating GUIDs in Ruby
Solution 1:
As of Ruby 1.9, uuid generation is built-in. Use the SecureRandom.uuid
function.
For example:
require 'securerandom'
SecureRandom.uuid # => "96b0a57c-d9ae-453f-b56f-3b154eb10cda"
Solution 2:
How to create small, unique tokens in Ruby
>> require 'digest'
=> []
>> Digest::SHA1.hexdigest("some-random-string")[8..16]
=> "2ebe5597f"
>> SecureRandom.base64(8).gsub("/","_").gsub(/=+$/,"")
=> "AEWQyovNFo0"
>> rand(36**8).to_s(36)
=> "uur0cj2h"
Solution 3:
Did you look at UUIDTools?
UUIDTools was designed to be a simple library for generating any of the various types of UUIDs (or GUIDs if you prefer to call them that). It conforms to RFC 4122 whenever possible.
Solution 4:
Google yields the following Ruby library:
http://raa.ruby-lang.org/project/ruby-guid/
Also, over at http://www.ruby-forum.com/topic/99262 they say you can install a gem (execute gem uuid
on the command line to install it) and then do
gem 'uuid'
puts UUID.new
in your code to see a new UUID.
(Hint: I Googled for guid ruby)