class Blackjack::Hand

Attributes

cards[R]

Public Class Methods

new(cards = []) click to toggle source
# File lib/blackjack/hand.rb, line 4
def initialize(cards = [])
  @cards = cards
end

Public Instance Methods

bust?() click to toggle source
# File lib/blackjack/hand.rb, line 13
def bust?
  cards_value > 21
end
cards_value() click to toggle source
# File lib/blackjack/hand.rb, line 8
def cards_value
  value = cards.inject(0) { |sum, card| sum + card.value }
  account_for_aces(value)
end

Private Instance Methods

account_for_aces(value) click to toggle source
# File lib/blackjack/hand.rb, line 18
def account_for_aces(value)
  value < 12 && contains_ace? ? value + 10 : value
end
contains_ace?() click to toggle source
# File lib/blackjack/hand.rb, line 22
def contains_ace?
  cards.any? { |card| card.is_ace? }
end