lib/cards_lib/card.rb in cards_lib-0.1.0 vs lib/cards_lib/card.rb in cards_lib-0.1.1
- old
+ new
@@ -3,11 +3,11 @@
include Comparable
def initialize(face, ranker = Ranker)
raise InvalidCardFace, "Parameter face cannot be blank!" if face.to_s.empty?
@suit = if_hash_then_fetch(face, :suit)
@rank = if_hash_then_fetch(face, :rank)
- @face = face_from_rank_and_suit(@rank, @suit) if @rank && @suit
+ @face = face_from_rank_and_suit(@rank, @suit) if face.is_a? Hash
@face ||= face
@ranker = ranker.new(rank)
end
@@ -54,17 +54,17 @@
self.sequential?(other) ? other : nil
end
end
class InvalidCardFace < Exception; end
- class InvalidRankAndSuitProvided < Exception; end
+ class InvalidRankAndSuit < Exception; end
private
def face_from_rank_and_suit(rank, suit)
if rank && suit
[rank, ((rank.length.>(1) && suit.length.>(1)) ? " of " : ""), suit].join
else
- raise InvalidRankAndSuitProvided, "Suit and Rank provided in Hash are invalid!"
+ raise InvalidRankAndSuit, "Suit and Rank provided in Hash are invalid!"
end
end
def if_hash_then_fetch(item, target)
item.is_a?(Hash) ? item.fetch(target) { nil } : nil