class Holdem::Card

Constants

FACE_CARDS
ICONS
RANKS
SUITS

Attributes

icon[R]
rank[R]
suit[R]

Public Class Methods

new(card) click to toggle source
# File lib/holdem/card.rb, line 11
def initialize(card)
  @rank, @suit = card.chars if card.respond_to?(:chars)
  @icon = ICONS[suit]
  validate(card)
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/holdem/card.rb, line 25
def <=>(other)
  value <=> other.value
end
to_s() click to toggle source
# File lib/holdem/card.rb, line 21
def to_s
  "#{rank}#{icon}"
end
value() click to toggle source
# File lib/holdem/card.rb, line 17
def value
  rank[/\d/] ? rank.to_i : FACE_CARDS[rank]
end

Private Instance Methods

validate(card) click to toggle source
# File lib/holdem/card.rb, line 31
def validate(card)
  unless RANKS.include?(rank) && SUITS.include?(suit)
    fail ArgumentError
  end
end