Sha256: 8cc1447ee8a37385f33512c62ad0588843330a9af2cb60886027fdd3f3382367

Contents?: true

Size: 580 Bytes

Versions: 1

Compression:

Stored size: 580 Bytes

Contents

require "highline/import"

module Rubybooty
  class Array
    def shuffle!
      size.downto(1) { |n| push delete_at(rand(n)) }
      self
    end
  end

  def self.run
    entrants = {}

    while true
      name = ask("Entrants Name (enter 'done' to finish): ")
      break if name.downcase == "done"
      entries = ask("Number of Entries: (integer only)", Integer)
      entrants[name] = entries
    end

    agree("Run Now? (yes/no)")

    entries = []
    entrants.each { |k,v| v.times { entries << k }}

    puts entries.shuffle!.first + " is the winner! AARRR!"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubybooty-0.0.2 lib/rubybooty.rb