Sha256: ad22aed57401bbbb251b73b4bb5a977593bb1a598664cd569e5f450fc84cc5af
Contents?: true
Size: 484 Bytes
Versions: 19
Compression:
Stored size: 484 Bytes
Contents
module Bridge class Trick attr_reader :cards, :suit def initialize(*args) @cards = args.flatten.map { |c| Bridge::Card.new(c.to_s) } @suit = @cards.first.suit end def winner(trump = nil) winner_in_suit(trump) || winner_in_suit(@suit) end def complete? @cards.size == 4 end def incomplete? !complete? end private def winner_in_suit(suit) @cards.select { |c| c.suit == suit }.max end end end
Version data entries
19 entries across 19 versions & 1 rubygems