module Belka
Constants
- VERSION
Public Class Methods
numerify(number_string)
click to toggle source
# File lib/belka.rb, line 2 def self.numerify(number_string) number_string.gsub('#') { rand(10).to_s } end
pick(variants)
click to toggle source
# File lib/belka.rb, line 6 def self.pick(variants) case variants when Array variants[rand(variants.size)] when String variants[rand(variants.length),1] when Range if variants.exclude_end? rand(variants.last - variants.first) + variants.first else rand((variants.last+1) - variants.first) + variants.first end end end
pick_multi(variants, count)
click to toggle source
# File lib/belka.rb, line 21 def self.pick_multi(variants, count) variants.shuffle.take(count) end
weighted_pick(variants)
click to toggle source
# File lib/belka.rb, line 25 def self.weighted_pick(variants) total_sum = variants.inject(0) { |sum, var| sum + var[1] } rnd = rand(total_sum) sum = 0 variants.each do |var| sum += var[1] return var[0] if rnd < sum end # этого не может быть raise end