Class: OfcpScoring::HandCategorizer
- Inherits:
-
Object
- Object
- OfcpScoring::HandCategorizer
- Defined in:
- lib/ofcp_scoring/hand_categorizer.rb
Instance Method Summary collapse
- #categorize(hand) ⇒ Object
-
#initialize(organizer = OfcpScoring::HandOrganizer.new) ⇒ HandCategorizer
constructor
A new instance of HandCategorizer.
Constructor Details
#initialize(organizer = OfcpScoring::HandOrganizer.new) ⇒ HandCategorizer
Returns a new instance of HandCategorizer.
3 4 5 |
# File 'lib/ofcp_scoring/hand_categorizer.rb', line 3 def initialize(organizer = OfcpScoring::HandOrganizer.new) @organizer = organizer end |
Instance Method Details
#categorize(hand) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ofcp_scoring/hand_categorizer.rb', line 7 def categorize(hand) return "" if hand.nil? organized_hand = @organizer.organize(hand) categorization = OfcpScoring::HighCard categorization = OfcpScoring::Pair if organized_hand.two_cards_match? categorization = OfcpScoring::TwoPair if organized_hand.two_different_cards_match? categorization = OfcpScoring::ThreeOfAKind if organized_hand.three_cards_match? unless organized_hand.three_card_hand? categorization = OfcpScoring::Straight if organized_hand.ranks_in_order? categorization = OfcpScoring::Flush if organized_hand.all_suits_match? categorization = OfcpScoring::FullHouse if organized_hand.three_cards_match? && organized_hand.two_cards_match? categorization = OfcpScoring::FourOfAKind if organized_hand.four_cards_match? categorization = OfcpScoring::StraightFlush if organized_hand.all_suits_match? && organized_hand.ranks_in_order? categorization = OfcpScoring::RoyalFlush if organized_hand.all_suits_match? && organized_hand.ranks_in_order? && organized_hand.high_card_ace? end return categorization.new(organized_hand) end |