Class: Bridge::Trick

Inherits:
Object
  • Object
show all
Defined in:
lib/bridge/trick.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Trick

Returns a new instance of Trick.



5
6
7
8
# File 'lib/bridge/trick.rb', line 5

def initialize(*args)
  @cards = args.flatten.map { |c| Bridge::Card.new(c.to_s) }
  @suit = @cards.first.suit
end

Instance Attribute Details

#cardsObject (readonly)

Returns the value of attribute cards.



3
4
5
# File 'lib/bridge/trick.rb', line 3

def cards
  @cards
end

#suitObject (readonly)

Returns the value of attribute suit.



3
4
5
# File 'lib/bridge/trick.rb', line 3

def suit
  @suit
end

Instance Method Details

#complete?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/bridge/trick.rb', line 14

def complete?
  cards.size == 4
end

#incomplete?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/bridge/trick.rb', line 18

def incomplete?
  !complete?
end

#winner(trump = nil) ⇒ Object



10
11
12
# File 'lib/bridge/trick.rb', line 10

def winner(trump = nil)
  winner_in_suit(trump) || winner_in_suit(suit)
end