deck_of_cards_handler 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6906ff341d8f885efe6e8d9489f526e89f860de3473c09480eadea613390c8ea
4
- data.tar.gz: e128dfd6889392b9c4313b41520c590f21209f7fb1c855430b90cc3b4a820986
3
+ metadata.gz: d23ec5d3f1b6987a939dfa98561a8734766fa09b7f1b74d3130225a7df36b5dc
4
+ data.tar.gz: fb7a36ff97dc5080186bdcf318f15cc9595fe3c188506d22cc2545297db789fd
5
5
  SHA512:
6
- metadata.gz: 549cf0b957134db0d190633b022f023b7e19a5a00f28cbfc968a39c39123e384e5d8335f627ae235392dcb1a173a2ad148cee1edef53a5bc9a67a5745ca90c6e
7
- data.tar.gz: 5ebc5edd4ac1036615fabed26bc89d7fb2eb44c83635801e64c197499e4e55142a59250088debea153fe277022364733cc05c836b917ad1d3dde88a45dc1d8c7
6
+ metadata.gz: 9d3130deeeb5baa744e0f94b7896692d5ed2d322ccdd11c6398b9f19a35c1f0923a699c17862ddf2051e97236967db5073a3cafe029818dad06ffe674e94406e
7
+ data.tar.gz: 8433c0d0036299acfcf593b46ef5f17610c49d067a4243d7e617a9d9adc6d410853e9710759a06fa509b98fb02d5cc65ad4e21007c5447573367a6a7b838d764
data/.rubocop.yml CHANGED
@@ -1,5 +1,12 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 3.1
3
+ NewCops: enable
4
+
5
+ Gemspec/DevelopmentDependencies:
6
+ Enabled: false
7
+
8
+ Gemspec/RequireMFA:
9
+ Enabled: false
3
10
 
4
11
  Metrics/AbcSize:
5
12
  Enabled: false
@@ -108,6 +108,7 @@ class Card
108
108
 
109
109
  class << self
110
110
  extend T::Sig
111
+
111
112
  sig { returns(T::Array[String]) }
112
113
  def suits
113
114
  %w[C H S D].freeze
@@ -5,6 +5,7 @@
5
5
  module Cuts
6
6
  extend T::Helpers
7
7
  extend T::Sig
8
+
8
9
  requires_ancestor { Packet }
9
10
 
10
11
  sig { params(number: Integer).returns(Packet) }
@@ -50,14 +51,14 @@ module Cuts
50
51
  sig { params(piles: T::Array[Packet], reverse: T::Boolean).returns(T::Array[Card]) }
51
52
  def reassemble_cards(piles, reverse: false)
52
53
  piles.reverse! if reverse
53
- piles.reduce([]) { |acc, pile| acc << pile.cards }.flatten
54
+ piles.reduce([]) { |acc, pile| acc << pile.cut(number: pile.size).cards }.flatten
54
55
  end
55
56
 
56
57
  sig { params(number: Integer).returns(T::Boolean) }
57
58
  def invalid_number_to_cut_to?(number)
58
59
  return true if number.negative?
59
60
  return true if number.zero?
60
- return true if number >= cards.size
61
+ return true if number > cards.size
61
62
 
62
63
  false
63
64
  end
@@ -4,6 +4,7 @@
4
4
  # This represents a packet of cards
5
5
  class Packet
6
6
  extend T::Sig
7
+
7
8
  require "deck_of_cards_handler/packet/shuffles"
8
9
  require "deck_of_cards_handler/packet/deals"
9
10
  require "deck_of_cards_handler/packet/cuts"
@@ -4,6 +4,7 @@
4
4
  module Shuffles
5
5
  class << self
6
6
  extend T::Sig
7
+
7
8
  sig { params(left_half: Packet, right_half: Packet).returns(T::Array[Card]) }
8
9
  def riffle_shuffle(left_half:, right_half:)
9
10
  shuffled_cards = []
@@ -7,6 +7,7 @@ module PokerHands
7
7
  extend T::Sig
8
8
  extend T::Helpers
9
9
  include Comparable
10
+
10
11
  abstract!
11
12
 
12
13
  sig { returns(T::Array[Card]) }
@@ -29,6 +30,7 @@ module PokerHands
29
30
 
30
31
  class << self
31
32
  extend T::Sig
33
+
32
34
  sig { params(string: String).returns(PokerHand) }
33
35
  def build_from_string(string:)
34
36
  cards = Packet.build_from_string(string:).cards
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DeckOfCardsHandler
4
- VERSION = "0.1.8"
4
+ VERSION = "0.1.9"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deck_of_cards_handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Bernard
@@ -52,7 +52,7 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: 0.17.7
54
54
  description: |2
55
- It provides all the moves one could do with a deck of cards.
55
+ It provides all the moves one could do with a deck of playing cards.
56
56
  Such as shuffling, cutting, dealing, culling, etc.
57
57
  email:
58
58
  - simonbernard@gmail.com
@@ -158,5 +158,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  requirements: []
159
159
  rubygems_version: 3.6.9
160
160
  specification_version: 4
161
- summary: A gem that simulates the handling of a deck of cards
161
+ summary: A gem that simulates the handling of a deck of playing cards
162
162
  test_files: []