注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
類似gemとしては ActiveRecord用のweighted_random {value => weight} 形式のHashを使う weighted_rando... 類似gemとしては ActiveRecord用のweighted_random {value => weight} 形式のHashを使う weighted_randomizer というのがあったけど、当方のユースケースには合わなかったので自作した。 weighted_sample $ gem install weighted_sampleで入ります。 require 'weighted_sample' [1, 9, 90].weighted_sample_by {|x| x} # => 1(1%), 9(9%), 90(90%) 任意のEnumerableで使えるけど、内部的に2回eachしてるのでご留意ください。 重みに使えるのは、今のところ整数のみです(要望があればFloatにも対応するんじゃないかな or プルリクせよ)。
2012/08/21 リンク