Module: Cuts
- Extended by:
- T::Helpers, T::Sig
- Included in:
- Packet
- Defined in:
- lib/deck_of_cards_handler/packet/cuts.rb
Overview
Includes cutting methods, either splits or assembles packets of cards
Instance Method Summary collapse
- #cut(number:) ⇒ Object
- #cut_and_complete(number:) ⇒ Object
- #reassemble_left_to_right_on_bottom(piles) ⇒ Object
- #reassemble_left_to_right_on_top(piles) ⇒ Object
- #reassemble_right_to_left_on_bottom(piles) ⇒ Object
- #reassemble_right_to_left_on_top(piles) ⇒ Object
Instance Method Details
#cut(number:) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 12 def cut(number:) raise ArgumentError if invalid_number_to_cut_to?(number) cut_cards = cards.slice!(0...number) Packet.new(cards: T.must(cut_cards)) end |
#cut_and_complete(number:) ⇒ Object
20 21 22 23 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 20 def cut_and_complete(number:) top_half = cut(number:) self.cards = [cards, top_half.cards].flatten end |
#reassemble_left_to_right_on_bottom(piles) ⇒ Object
32 33 34 35 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 32 def reassemble_left_to_right_on_bottom(piles) assembled = reassemble_cards(piles) self.cards += assembled end |
#reassemble_left_to_right_on_top(piles) ⇒ Object
26 27 28 29 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 26 def reassemble_left_to_right_on_top(piles) assembled = reassemble_cards(piles) self.cards = assembled + cards end |
#reassemble_right_to_left_on_bottom(piles) ⇒ Object
44 45 46 47 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 44 def reassemble_right_to_left_on_bottom(piles) assembled = reassemble_cards(piles, reverse: true) self.cards += assembled end |
#reassemble_right_to_left_on_top(piles) ⇒ Object
38 39 40 41 |
# File 'lib/deck_of_cards_handler/packet/cuts.rb', line 38 def reassemble_right_to_left_on_top(piles) assembled = reassemble_cards(piles, reverse: true) self.cards = assembled + cards end |