Method: Card#initialize
- Defined in:
- lib/hand_rank/test.rb
#initialize(value:, suit:) ⇒ Card
Returns a new instance of Card.
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/hand_rank/test.rb', line 118 def initialize( value:, suit: ) value = normalize_value( value ) raise ValueError unless value.instance_of? Fixnum raise ValueError unless (1..14).cover? value suit = normalize_suit( suit ) raise SuitError unless SUIT_NAMES.keys.include? suit value = 0 if suit == JOKER @value = value.to_i @suit = suit @s = "#{ VALUES[ value ] }#{ suit }" @sym = CARDS[ suit ][ value ] parts = [ VALUE_NAMES[ value ], SUIT_NAMES[ suit ]] @str = parts.compact.join( ' of ' ).strip @abs = ABSOLUTE_VALUE[ suit ][ value ] self.freeze end |