class SnackRoulette::Wheel

Constants

HIGH_SPIN
LOW_SPIN
PRODUCTS
SHELVES

Public Class Methods

new() click to toggle source
# File lib/snack_roulette/wheel.rb, line 9
def initialize
  @rnd = Random.new
end

Public Instance Methods

header() click to toggle source
# File lib/snack_roulette/wheel.rb, line 28
    def header
      <<EOF
      Amazing Snack Roulette!
      =======================

      Spinning the Amazing Snack Roulette wheel of awesome fortune!

EOF
    end
randomize() click to toggle source
# File lib/snack_roulette/wheel.rb, line 45
def randomize
  {
    shelf: @rnd.rand(1..SHELVES),
    product: @rnd.rand(1..PRODUCTS)
  }
end
result(values) click to toggle source
# File lib/snack_roulette/wheel.rb, line 38
def result(values)
  values.each do |key, value|
    spinner
    puts "      #{key.capitalize}: #{value}"
  end
end
spin!() click to toggle source
# File lib/snack_roulette/wheel.rb, line 13
def spin!
  puts header
  result(randomize)
end
spinner() click to toggle source
# File lib/snack_roulette/wheel.rb, line 18
def spinner
  spinner = SnackRoulette::Spinner.new
  count = @rnd.rand(LOW_SPIN..HIGH_SPIN)
  (0..count).each do |i|
    print spinner.next
    sleep 0.01
  end
  print "\b"
end