Class: WarSimulator::Card

Inherits:
Object
  • Object
show all
Defined in:
lib/war_simulator/card.rb

Constant Summary collapse

SUITS =
['S', 'C', 'H', 'D']
NUMBERS =
(2..14).to_a

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(suit, number) ⇒ Card

Returns a new instance of Card.



9
10
11
12
13
14
15
16
17
# File 'lib/war_simulator/card.rb', line 9

def initialize(suit, number)
  number = number.to_i
  if valid?(suit, number)
    @suit = suit
    @number = number
  else
    raise 'Card not valid'
  end
end

Instance Attribute Details

#numberObject

Returns the value of attribute number.



7
8
9
# File 'lib/war_simulator/card.rb', line 7

def number
  @number
end

#suitObject

Returns the value of attribute suit.



7
8
9
# File 'lib/war_simulator/card.rb', line 7

def suit
  @suit
end

Instance Method Details

#valid?(suit, number) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/war_simulator/card.rb', line 19

def valid?(suit, number)
  SUITS.include?(suit) && NUMBERS.include?(number)
end