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