ruby random hash

ハッシュをランダムで取得したかったので以下のように書いてみたけど、これで良いのかな?
まだまだruby勉強中なのでこんな書き方で良いのか分からない。

class Hash 
  def random_key 
    array = []
    self.keys.each {|k| array << k}
    return array[rand(array.size)]
  end 
end

ーー追加メモーー
r_kurainさんに教えていただいた方法

#メソッドチェーンで
h = {:a=>1,:b=>2,:c=>3,:d=>4,:e=>5}
h.to_a.shuffle[0][1] #=> ランダムに value が出る

#インスタンスメソッドで
class Hash 
  def random_key 
    key = self.keys.shuffle[0]
    return self[key]
  end 
end


少し調べてみて、ruby1.9ではsampleメソッドがあるのでこういう方法でもいけますね。
sampleメソッドはランダムに配列の要素を返す
sample(n)で引数を指定するとその分だけ要素を返す

h = {:a=>1,:b=>2,:c=>3,:d=>4,:e=>5}
h.to_a.sample[1] #=> ランダムに value が出る