card_deck 0.0.0.1 → 0.1.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.
- checksums.yaml +4 -4
- data/lib/card_deck.rb +18 -14
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 165bddc72fe986cd53606675edb609a31730fd0a
|
4
|
+
data.tar.gz: 156717251856aaa038ea09e372802975f0b56e89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1b85d1e15c1c590967e0f4c77394dc3c6e7403cf7c319038a9723d03209c9c3a87c5ad359900052c7568eccba4f0ffd2eea837100c5a533afd98704cc9e6d85
|
7
|
+
data.tar.gz: 697d246360fba34c8e0eb064ab2e439ca82b5ad1fec23773a506eabec99ece90c356e064a0d7ea5f632bffa77c1d36aeaf06645ce0b5e6231e57535894e36f02
|
data/lib/card_deck.rb
CHANGED
@@ -3,16 +3,20 @@
|
|
3
3
|
# Errors for when you incorrectly use a card.
|
4
4
|
class CardError < StandardError; end
|
5
5
|
class Card
|
6
|
-
# Legal arguments for Card#new.
|
6
|
+
# Legal arguments for parameter num in Card#new.
|
7
7
|
NUM = %w(Ace King Queen Jack Joker) + (2..10).to_a
|
8
|
+
# Legal arguments for parameter suit in Card#new
|
9
|
+
SUIT = %w(Hearts Diamonds Spades Clubs)
|
8
10
|
# The card's number. Must be Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, or Joker
|
9
11
|
attr_accessor :num
|
10
|
-
#
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
# The card's suit. Must be Spades, Diamonds, Clubs, Hearts, or nil.
|
13
|
+
attr_accessor :suit
|
14
|
+
# Creates a new card. Parameter num is the card's number. Parameter suit is the card's suit
|
15
|
+
def initialize(num, suit=nil)
|
16
|
+
unless NUM.include?(num) || SUIT.include?(suit) || suit.nil?
|
17
|
+
raise CardError, 'Illegal argument'
|
14
18
|
else
|
15
|
-
@num = num
|
19
|
+
@num, @suit = num, suit
|
16
20
|
end
|
17
21
|
end
|
18
22
|
end
|
@@ -23,21 +27,21 @@
|
|
23
27
|
# Creates a new Deck. Includes Jokers when jokers = true
|
24
28
|
def initialize(jokers=false)
|
25
29
|
@cards = Array.new
|
26
|
-
|
27
|
-
stock 'Ace'
|
28
|
-
stock 'King'
|
29
|
-
stock 'Queen'
|
30
|
-
stock 'Jack'
|
30
|
+
for suit in Card::SUIT
|
31
|
+
stock 'Ace', suit
|
32
|
+
stock 'King', suit
|
33
|
+
stock 'Queen', suit
|
34
|
+
stock 'Jack', suit
|
31
35
|
for num in (2..10).to_a
|
32
|
-
stock num
|
36
|
+
stock num, suit
|
33
37
|
end
|
34
38
|
end
|
35
39
|
2.times {stock 'Joker'} if jokers
|
36
40
|
end
|
37
41
|
private
|
38
42
|
# Creates a Card to add to Deck#cards
|
39
|
-
def stock(num)
|
40
|
-
@cards.push Card.new(num)
|
43
|
+
def stock(num, suit=nil)
|
44
|
+
@cards.push Card.new(num, suit)
|
41
45
|
end
|
42
46
|
end
|
43
47
|
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: 0.
|
4
|
+
version: 0.1.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-09-
|
11
|
+
date: 2014-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inch
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
71
|
rubyforge_project:
|
72
|
-
rubygems_version: 2.
|
72
|
+
rubygems_version: 2.3.0
|
73
73
|
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: The central part of a card game
|