Class: OfcpScoring::HandOrganizer

Inherits:
Object
  • Object
show all
Defined in:
lib/ofcp_scoring/hand_organizer.rb

Instance Method Summary collapse

Instance Method Details

#organize(hand) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ofcp_scoring/hand_organizer.rb', line 2

def organize(hand)
  return "" if hand.nil?
  suits_only = Hash.new(0)
  ranks_only = Hash.new(0)
  sorted_ranks = []
  hand.each do |card|
    ranks_only[card[0..-2]] += 1
    suits_only[card.match(/[s,c,d,h]/)[0]] += 1
    case card[0]
    when "A"
      sorted_ranks << 1
    when "K"
      sorted_ranks << 13
    when "Q"
      sorted_ranks << 12
    when "J"
      sorted_ranks << 11
    else
      sorted_ranks << card[0..-2].to_i
    end
  end

  sorted_ranks.sort!

  OfcpScoring::OrganizedHand.new(build_organized_hand(ranks_only, suits_only, sorted_ranks))
end