Ruby でランダム文字列を生成する

Ruby で英数字でできるランダムな文字列を生成するときどうするか。
Ruby の配列は以下の性質がある。

>> [1, 2, 3] + [3, 4, 5]
=> [1, 2, 3, 4, 5]

>> Array.new(4, "foo") 
=> ["foo", "foo", "foo", "foo"]

これらに注意して

>> a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
>> code = (
          Array.new(16) do
            a[rand(a.size)]
          end
          ).join
=> "8vQQnRnGhebA55pC"

とか。