redealer 0.0.1
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 +7 -0
- data/.gitignore +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +43 -0
- data/README.md +29 -0
- data/Rakefile +6 -0
- data/lib/redealer.rb +6 -0
- data/lib/redealer/card.rb +27 -0
- data/lib/redealer/deck.rb +19 -0
- data/lib/redealer/version.rb +3 -0
- data/redealer.gemspec +24 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/units/card_spec.rb +31 -0
- data/spec/units/deck_spec.rb +28 -0
- metadata +115 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 5bd42def8948c8676f723a1d791c6f7ce0f17adf
|
|
4
|
+
data.tar.gz: b86b2cbb06a02cdce78e04228200ad3d0245f088
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: c29be7dc0557bca75ba90b024927f3899a411354621ddadbdc6c3c249542a22a2ba8f7dbb81bbf49aa7b713181ce1ce9fa7abf224d6f9538fd557f4459d8ebf9
|
|
7
|
+
data.tar.gz: 5739ab54272afa337493f2890d56b161b0a80ced75bb435f3a0abb42e0a466f20af18939291fdf3b7eec0e18039c4c18afcd95a3444ae7836ba9f986e1b3f6e6
|
data/.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pkg
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
redealer (0.0.1)
|
|
5
|
+
|
|
6
|
+
GEM
|
|
7
|
+
remote: https://rubygems.org/
|
|
8
|
+
specs:
|
|
9
|
+
coderay (1.1.1)
|
|
10
|
+
diff-lcs (1.2.5)
|
|
11
|
+
method_source (0.8.2)
|
|
12
|
+
pry (0.10.3)
|
|
13
|
+
coderay (~> 1.1.0)
|
|
14
|
+
method_source (~> 0.8.1)
|
|
15
|
+
slop (~> 3.4)
|
|
16
|
+
rake (10.5.0)
|
|
17
|
+
rspec (3.4.0)
|
|
18
|
+
rspec-core (~> 3.4.0)
|
|
19
|
+
rspec-expectations (~> 3.4.0)
|
|
20
|
+
rspec-mocks (~> 3.4.0)
|
|
21
|
+
rspec-core (3.4.4)
|
|
22
|
+
rspec-support (~> 3.4.0)
|
|
23
|
+
rspec-expectations (3.4.0)
|
|
24
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
25
|
+
rspec-support (~> 3.4.0)
|
|
26
|
+
rspec-mocks (3.4.1)
|
|
27
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
28
|
+
rspec-support (~> 3.4.0)
|
|
29
|
+
rspec-support (3.4.1)
|
|
30
|
+
slop (3.6.0)
|
|
31
|
+
|
|
32
|
+
PLATFORMS
|
|
33
|
+
ruby
|
|
34
|
+
|
|
35
|
+
DEPENDENCIES
|
|
36
|
+
bundler (~> 1.11)
|
|
37
|
+
pry (~> 0)
|
|
38
|
+
rake (~> 10.0)
|
|
39
|
+
redealer!
|
|
40
|
+
rspec (~> 3.0)
|
|
41
|
+
|
|
42
|
+
BUNDLED WITH
|
|
43
|
+
1.11.2
|
data/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Redealer
|
|
2
|
+
|
|
3
|
+
## Getting started
|
|
4
|
+
|
|
5
|
+
Just run `gem install redealer`
|
|
6
|
+
|
|
7
|
+
Or add `gem 'redealer'` to your `Gemfile`
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
This gem lets you set up a Deck of cards for use in a card game.
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
Redealer::Deck.new
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The above code will create a `Deck` object with an instance variable `@cards` that contains 52 Card objects.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
deck = Redealer::Deck.new
|
|
22
|
+
|
|
23
|
+
deck.draw
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The above code will draw a random card from the deck and remove it.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
Created by: Joseph Ciancio
|
data/Rakefile
ADDED
data/lib/redealer.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Redealer
|
|
2
|
+
class Card
|
|
3
|
+
attr_reader :value, :suite
|
|
4
|
+
def initialize(value, suite)
|
|
5
|
+
@value, @suite = value, suite
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def to_s
|
|
9
|
+
"#{type} of #{suite}"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def type
|
|
13
|
+
case value
|
|
14
|
+
when 1
|
|
15
|
+
"Ace"
|
|
16
|
+
when 11
|
|
17
|
+
"Jack"
|
|
18
|
+
when 12
|
|
19
|
+
"Queen"
|
|
20
|
+
when 13
|
|
21
|
+
"King"
|
|
22
|
+
else
|
|
23
|
+
value
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Redealer
|
|
2
|
+
class Deck
|
|
3
|
+
attr_reader :cards
|
|
4
|
+
|
|
5
|
+
def initialize
|
|
6
|
+
@cards = []
|
|
7
|
+
[:clubs, :diamonds, :hearts, :spades].each do |suite|
|
|
8
|
+
(1..13).each do |value|
|
|
9
|
+
@cards << Card.new(value, suite)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
@cards.shuffle!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def draw
|
|
16
|
+
@cards.pop
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/redealer.gemspec
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Gem::Specification.new do |s|
|
|
2
|
+
s.name = 'redealer'
|
|
3
|
+
s.version = '0.0.1'
|
|
4
|
+
s.date = '2016-06-01'
|
|
5
|
+
s.summary = "Dealing Cards for different games!"
|
|
6
|
+
s.description = "The gem allows you to set up a deck of cards and deal them."
|
|
7
|
+
s.authors = ["Joseph Ciancio"]
|
|
8
|
+
s.email = 'jciancio7@gmail.com'
|
|
9
|
+
s.files = ["lib/redealer.rb"]
|
|
10
|
+
s.homepage =
|
|
11
|
+
'http://rubygems.org/gems/redealer'
|
|
12
|
+
s.license = 'MIT'
|
|
13
|
+
|
|
14
|
+
s.files = `git ls-files`.split($/)
|
|
15
|
+
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
16
|
+
s.test_files = s.files.grep(%r{^(spec)/})
|
|
17
|
+
s.require_paths = ["lib"]
|
|
18
|
+
|
|
19
|
+
s.add_development_dependency "bundler", "~> 1.11"
|
|
20
|
+
|
|
21
|
+
s.add_development_dependency "rake", "~> 10.0"
|
|
22
|
+
s.add_development_dependency "rspec", "~> 3.0"
|
|
23
|
+
s.add_development_dependency "pry", "~> 0"
|
|
24
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Redealer::Card do
|
|
4
|
+
subject { described_class.new(13, 'clubs') }
|
|
5
|
+
|
|
6
|
+
context '#suite' do
|
|
7
|
+
it "returns the correct suite" do
|
|
8
|
+
expect(subject.suite).to eq 'clubs'
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
context '#value' do
|
|
13
|
+
it "returns the correct value" do
|
|
14
|
+
expect(subject.value).to eq 13
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
context '#type' do
|
|
19
|
+
it 'returns the face for Ace, J, Q, or K' do
|
|
20
|
+
expect(subject.type).to eq 'King'
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
context '#to_s' do
|
|
25
|
+
it 'returns a string with the type and value' do
|
|
26
|
+
expect(subject.to_s).to eq "King of clubs"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Redealer::Deck do
|
|
4
|
+
subject{ described_class.new }
|
|
5
|
+
|
|
6
|
+
context '#cards' do
|
|
7
|
+
it "displays a deck of cards" do
|
|
8
|
+
expect(subject.cards.count).to eq 52
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "contains Card objects" do
|
|
12
|
+
expect(subject.cards[0]).to be_a Redealer::Card
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
context '#draw' do
|
|
17
|
+
it 'displays a card' do
|
|
18
|
+
expect(subject.draw).to be_a Redealer::Card
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'removes a card from the deck' do
|
|
22
|
+
subject.draw
|
|
23
|
+
expect(subject.cards.count).to eq 51
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
metadata
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: redealer
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Joseph Ciancio
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.11'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.11'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rspec
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '3.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '3.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: pry
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
description: The gem allows you to set up a deck of cards and deal them.
|
|
70
|
+
email: jciancio7@gmail.com
|
|
71
|
+
executables: []
|
|
72
|
+
extensions: []
|
|
73
|
+
extra_rdoc_files: []
|
|
74
|
+
files:
|
|
75
|
+
- ".gitignore"
|
|
76
|
+
- Gemfile
|
|
77
|
+
- Gemfile.lock
|
|
78
|
+
- README.md
|
|
79
|
+
- Rakefile
|
|
80
|
+
- lib/redealer.rb
|
|
81
|
+
- lib/redealer/card.rb
|
|
82
|
+
- lib/redealer/deck.rb
|
|
83
|
+
- lib/redealer/version.rb
|
|
84
|
+
- redealer.gemspec
|
|
85
|
+
- spec/spec_helper.rb
|
|
86
|
+
- spec/units/card_spec.rb
|
|
87
|
+
- spec/units/deck_spec.rb
|
|
88
|
+
homepage: http://rubygems.org/gems/redealer
|
|
89
|
+
licenses:
|
|
90
|
+
- MIT
|
|
91
|
+
metadata: {}
|
|
92
|
+
post_install_message:
|
|
93
|
+
rdoc_options: []
|
|
94
|
+
require_paths:
|
|
95
|
+
- lib
|
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
|
+
requirements:
|
|
98
|
+
- - ">="
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
100
|
+
version: '0'
|
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
|
+
requirements:
|
|
103
|
+
- - ">="
|
|
104
|
+
- !ruby/object:Gem::Version
|
|
105
|
+
version: '0'
|
|
106
|
+
requirements: []
|
|
107
|
+
rubyforge_project:
|
|
108
|
+
rubygems_version: 2.6.2
|
|
109
|
+
signing_key:
|
|
110
|
+
specification_version: 4
|
|
111
|
+
summary: Dealing Cards for different games!
|
|
112
|
+
test_files:
|
|
113
|
+
- spec/spec_helper.rb
|
|
114
|
+
- spec/units/card_spec.rb
|
|
115
|
+
- spec/units/deck_spec.rb
|