class Lotto::Draw

Public Instance Methods

basket() click to toggle source
# File lib/lotto/draw.rb, line 26
def basket
  numbers = (1..@options[:of])
  numbers = numbers.reject{ |n| @options[:include].include? n } unless @options[:include].nil?
  numbers = numbers.reject{ |n| @options[:exclude].include? n } unless @options[:exclude].nil?
  numbers
end
draw() click to toggle source
# File lib/lotto/draw.rb, line 8
def draw
  drawns = []
  @options[:include].each{ |n| drawns << n } unless @options[:include].nil?
  count = @options[:include] ? @options[:pick] - @options[:include].count : @options[:pick]
  count.times{ drawns << pick(drawns) }
  drawns
end
draw_multiple() click to toggle source
# File lib/lotto/draw.rb, line 16
def draw_multiple
  coupons = []
  @options[:for].times{ coupons << draw }
  coupons
end
pick(drawns = []) click to toggle source
# File lib/lotto/draw.rb, line 22
def pick(drawns = [])
  basket.reject { |n| drawns.include? n }.sample
end
play(options) click to toggle source
# File lib/lotto/draw.rb, line 3
def play(options)
  @options = options
  @options[:for].nil? ? draw : draw_multiple
end