class Upwords::LetterRack

Attributes

capacity[R]
letters[R]

Public Class Methods

new(capacity=7) click to toggle source
# File lib/upwords/letter_rack.rb, line 6
def initialize(capacity=7)
  @letters = []
  @capacity = capacity
end

Public Instance Methods

add(letter) click to toggle source
# File lib/upwords/letter_rack.rb, line 27
def add(letter)
  if full?
    raise IllegalMove, "Rack is full!"
  else
    @letters << letter        
  end
end
empty?() click to toggle source
# File lib/upwords/letter_rack.rb, line 19
def empty?
  @letters.empty?
end
full?() click to toggle source
# File lib/upwords/letter_rack.rb, line 15
def full?
  size == capacity
end
has_letter?(letter) click to toggle source
# File lib/upwords/letter_rack.rb, line 23
def has_letter?(letter)
  @letters.include? letter 
end
remove(letter) click to toggle source
# File lib/upwords/letter_rack.rb, line 35
def remove(letter)
  if has_letter?(letter)
    @letters.delete_at(@letters.index(letter))
  else
    raise IllegalMove, "You don't have this letter!"
  end
end
show() click to toggle source
# File lib/upwords/letter_rack.rb, line 43
def show
  @letters.join(' ')
end
show_masked() click to toggle source
# File lib/upwords/letter_rack.rb, line 47
def show_masked
  @letters.map {'*'}.join(' ')
end
size() click to toggle source
# File lib/upwords/letter_rack.rb, line 11
def size
  @letters.size
end