card_deck 2.1.1 → 3.0.0

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.
Files changed (4) hide show
  1. checksums.yaml +8 -8
  2. data/lib/card.rb +12 -12
  3. data/lib/deck.rb +2 -2
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTEyZGE0MWI2MGFhYmVjMGVmMTZmYjM2M2Q5ZmFmM2M5MGE4NjM4NA==
4
+ NzU3ZDY0NzJjMjI5ZTdjNzlkODJmYjAyNjU2NjE0M2NhM2Q4MzBjMw==
5
5
  data.tar.gz: !binary |-
6
- OGZhZDVmODA3MDY5YTE5MzYzMGM2ZGExNzk1NzU3ZDAyOTkzY2MyMw==
6
+ YjI2NWM4YjhkYWZhODU1ZjMxYzFjM2EzZTI3M2U2ZWY3ZDUwNDNjYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTQwNTk1YzAzZmJiNDJkMWVmZmNhMzQ4OTQ2MGE4MzE3MWQ4NzljYzI3MjNh
10
- ZWY5ZDE4OGM1ZDg5OGFhZDk1MTNhNWJjOGRlNmFkOTJlNjNkM2FmNmI1ZWRh
11
- MGQyNzAwOTVlY2IzNjU5ZWIxYjdmYmNlYjEyMTFjYmZhZjIwMTQ=
9
+ ZjQyMDQ0MzYyNGRmNjAzMmQ1YmY5MDBmOTAzMzcwMjI0MWRjYjMyNjU2N2I3
10
+ MDMwYTFkZjk4NTZjNDk2YjkzNTQ1ODI3YzFhYThkNzY0ZTBhNjEwY2E3Mzll
11
+ NDA0MDU1ODkxMTZjOGM1NDBmZTgxOThhOWU0MWQ2MGE3NWVhM2E=
12
12
  data.tar.gz: !binary |-
13
- Yzk2MjBmYjNmMjk2ZjE3ZWUwMGIxMjRkNTlkYjhiNWNjMDUyMjYxMGI3ZmIy
14
- ZTVlYzBiMmVmZWRmYzE2ZTAyODk4ODE1Zjc2NWJmOGYxY2Y4MDgyOWVhYTFi
15
- OGE5ZDhjZjZiZmVjYjNkMDJhZWQ5ZWI4ZDIyZWI3OGM2YjI3NWQ=
13
+ Y2U1OGEwMGRhMTJiNTU1ODJiOTY5OWVjZjhmNjExMjNlN2E5ZjI0MmUyNzZh
14
+ ZjViZGIxMDNlMGFhZjJhNzBkODc2MzBiN2U2NGVjYTRkM2YwZTQ1ZWM1Yzdk
15
+ OGEyMmQ0MDFiOWNiNDE3YjkzOThkYWQ3YWZjYzNmMGYzMGM0ZmU=
data/lib/card.rb CHANGED
@@ -1,24 +1,23 @@
1
1
  module CardDeck # The gem
2
- def Card(num, suit); Card.new num, suit; end # an easier way to generate a card
2
+ def Card(num=Card::Num, suit=Card::Suit.sample); Card.new num, suit; end # an easier way to generate a card
3
3
  class CardError < StandardError; end # Errors for when you incorrectly use a card.
4
4
  class Card # The central part of any card game. It is what makes card games 'Card' games.
5
- HEARTS, SPADES, DIAMONDS, CLUBS = "\u2665", "\u2660", "\u2666", "\u2663" # Suits
6
- NUM = %w(Ace King Queen Jack Joker) + (2..10).to_a # Legal arguments for parameter num in Card#new.
7
- SUIT = [HEARTS, SPADES, DIAMONDS, CLUBS] # Legal arguments for parameter suit in Card#new
5
+ Hearts, Spades, Diamonds, Clubs = "\u2665", "\u2660", "\u2666", "\u2663" # Suits
6
+ Num = %w(Ace King Queen Jack Joker) + (2..10).to_a # Legal arguments for parameter num in Card#new.
7
+ Suit = [Hearts, Spades, Diamonds, Clubs] # Legal arguments for parameter suit in Card#new
8
8
  attr_accessor :num # The card's number. Must be Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, or Joker
9
9
  attr_accessor :suit # The card's suit. Must be Spades, Diamonds, Clubs, or Hearts.
10
- def initialize(num, suit) # Creates a new card. Parameter num is the card's number. Parameter suit is the card's suit
11
- unless SUIT.include? suit
10
+ def initialize(num=Num.sample, suit=Suit.sample) # Creates a new card. Parameter num is the card's number. Parameter suit is the card's suit. When given no arguments, the num and suit are randomly generated
11
+ unless Suit.include? suit
12
12
  suit = case suit.downcase
13
- when "diamonds" then DIAMONDS
14
- when "spades" then SPADES
15
- when "hearts" then HEARTS
16
- when "clubs" then CLUBS
13
+ when "diamonds" then Diamonds
14
+ when "spades" then Spades
15
+ when "hearts" then Hearts
16
+ when "clubs" then Clubs
17
17
  end
18
18
  end
19
19
  @num, @suit = num, suit
20
20
  end
21
- def self.gen; self.new NUM.sample, SUIT.sample; end # Creates a random new card.
22
21
  def abbreviation # The shorter representation of the card
23
22
  unless @num == "Joker"
24
23
  if @num == 10 then "#{@suit}#{@num}"
@@ -29,7 +28,8 @@ module CardDeck # The gem
29
28
  @num
30
29
  end
31
30
  end
32
- def black?; suit == SPADES || suit == CLUBS; end # Tests if the suit color is black
31
+ def black?; suit == Spades || suit == Clubs; end # Tests if the suit color is black
32
+ def red?; suit == Hearts || suit == Diamonds; end # Tests if the suit color is red
33
33
  alias abbr abbreviation # A shorter method name
34
34
  alias to_s abbr
35
35
  end
data/lib/deck.rb CHANGED
@@ -4,7 +4,7 @@ module CardDeck
4
4
  attr_accessor :cards # The cards in the deck
5
5
  def initialize(args=Hash.new(false)) # Creates a new Deck. Includes Jokers when parmeter args == {jokers: true}
6
6
  @cards = Array.new
7
- for suit in Card::SUIT
7
+ for suit in Card::Suit
8
8
  stock 'Ace', suit
9
9
  for num in (2..10).to_a; stock num, suit; end
10
10
  stock 'Jack', suit
@@ -14,6 +14,6 @@ module CardDeck
14
14
  2.times {stock 'Joker'} if args[:jokers]
15
15
  end
16
16
  private
17
- def stock(num, suit=Card::SUIT.sample); @cards.push Card.new num, suit; end # Creates a Card to add to Deck#cards
17
+ def stock(num, suit=Card::Suit.sample); @cards.push Card.new num, suit; end # Creates a Card to add to Deck#cards
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card_deck
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Perlmutter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-02 00:00:00.000000000 Z
11
+ date: 2014-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec