Module: LOTTO

Defined in:
lib/toychest/lotto.rb

Defined Under Namespace

Classes: L

Constant Summary collapse

@@L =
Hash.new { |h,k| h[k] = L.new(k) }
@@D =
[]
@@S =
5
@@T =
47
@@W =
false
@@WW =
false

Class Method Summary collapse

Class Method Details

.[](k) ⇒ Object



52
53
54
# File 'lib/toychest/lotto.rb', line 52

def self.[] k
  @@L[k]
end

.digitsObject



9
10
11
# File 'lib/toychest/lotto.rb', line 9

def self.digits
  @@D
end

.eventObject



43
44
45
46
47
48
49
50
51
# File 'lib/toychest/lotto.rb', line 43

def self.event
  h = {}
  @@W = LOTTO.digits.sample(LOTTO.size)
  @@L.each_pair do |k,v|
    h[k] = v.win?(winner)
  end
  @@WW = h.sort_by { |k,v| -v }
  return { winner: @@W, tickets: @@WW }
end

.reset!Object



40
41
42
# File 'lib/toychest/lotto.rb', line 40

def self.reset!
  @@W = @@WW = false
end

.sizeObject



12
13
14
# File 'lib/toychest/lotto.rb', line 12

def self.size
  @@S
end

.topObject



6
7
8
# File 'lib/toychest/lotto.rb', line 6

def self.top
  @@T
end

.winnerObject



33
34
35
# File 'lib/toychest/lotto.rb', line 33

def self.winner
  @@W
end

.winnersObject



37
38
39
# File 'lib/toychest/lotto.rb', line 37

def self.winners
  @@WW
end