acpc_poker_player_proxy 0.0.2 → 1.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.
- checksums.yaml +4 -4
- data/Rakefile +9 -29
- data/acpc_poker_player_proxy.gemspec +12 -11
- data/lib/acpc_poker_player_proxy/player_proxy.rb +8 -6
- data/lib/acpc_poker_player_proxy/version.rb +1 -1
- data/spec/coverage/index.html +1 -1
- data/spec/player_proxy_spec.rb +227 -0
- data/spec/support/spec_helper.rb +25 -8
- metadata +55 -50
- data/spec/player_proxy_limit_spec.rb +0 -367
- data/spec/player_proxy_nolimit_spec.rb +0 -547
- data/spec/support/dealer_data.rb +0 -140058
- data/spec/support/dealer_data.two_player_limit.rb +0 -13593
- data/spec/support/rearrange_dealer_data.rb +0 -54
- data/tasks.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3b6c2c86647a1d4c0bcff64ae7f56a35d341a23
|
4
|
+
data.tar.gz: 3e8558b50f20d032a87a33a1807b19153dca7298
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 712a4ea77395d88d3688025a159b44b8d8829498c5d3a4976dcb07fb9aeb413c2c8d413c55ce1744bd6b8ce1372519dde129ff94f5c3ff612b982a2bbb43bdc5
|
7
|
+
data.tar.gz: b0636c583c9a84293f584e948f2aedcc75583927ac904c89a2065502b49a8b0a195593446ac1fd773efea34f92decad4958ef340e9d1fbe189bf6d30bb20cd53
|
data/Rakefile
CHANGED
@@ -1,32 +1,12 @@
|
|
1
|
-
|
2
|
-
require
|
3
|
-
require 'rspec/core/rake_task'
|
4
|
-
|
5
|
-
require File.expand_path('../lib/acpc_poker_player_proxy/version', __FILE__)
|
6
|
-
require File.expand_path('../tasks', __FILE__)
|
7
|
-
|
8
|
-
include Tasks
|
9
|
-
|
10
|
-
RSpec::Core::RakeTask.new(:spec) do |t|
|
11
|
-
ruby_opts = "-w"
|
12
|
-
end
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
13
3
|
|
14
|
-
|
15
|
-
|
16
|
-
end
|
4
|
+
require 'rake'
|
5
|
+
require 'rake/testtask'
|
17
6
|
|
18
|
-
|
19
|
-
|
7
|
+
Rake::TestTask.new do |t|
|
8
|
+
t.libs << "lib" << 'spec/support'
|
9
|
+
t.test_files = FileList['spec/**/*_spec.rb']
|
10
|
+
t.verbose = false
|
11
|
+
t.warning = false # pry-rescue has a lot of warnings
|
20
12
|
end
|
21
|
-
|
22
|
-
#desc "release gem to gemserver"
|
23
|
-
#task :release => [:tag, :deploy] do
|
24
|
-
# puts "congrats, the gem is now tagged, pushed, deployed and released! Rember to up the VERSION number"
|
25
|
-
#end
|
26
|
-
|
27
|
-
#task :deploy do
|
28
|
-
# puts "Deploying to gemserver@mygemserver.mycompany.com"
|
29
|
-
# system "scp my_private_gem-#{AcpcPokerType::VERSION}.gem gemserver@mygemserver.mycompany.com:gems/."
|
30
|
-
# puts "installing on gemserver"
|
31
|
-
# system "ssh gemserver@mygemserver.mycompany.com \"cd gems && gem install my_private_gem-#{AcpcPokerType::VERSION}.gem --ignore-dependencies\""
|
32
|
-
#end
|
@@ -11,21 +11,22 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{ACPC Poker Player Proxy}
|
12
12
|
s.description = %q{A smart proxy for a poker player that connects to the ACPC Dealer and manages match state data}
|
13
13
|
|
14
|
-
s.add_dependency 'acpc_poker_match_state', '~>
|
15
|
-
s.add_dependency 'acpc_poker_basic_proxy', '~>
|
16
|
-
s.add_dependency 'acpc_poker_types', '~>
|
17
|
-
s.add_dependency '
|
14
|
+
s.add_dependency 'acpc_poker_match_state', '~> 1.0'
|
15
|
+
s.add_dependency 'acpc_poker_basic_proxy', '~> 2.0'
|
16
|
+
s.add_dependency 'acpc_poker_types', '~> 3.1'
|
17
|
+
s.add_dependency 'contextual_exceptions', '~> 0.0'
|
18
18
|
|
19
19
|
s.rubyforge_project = "acpc_poker_player_proxy"
|
20
20
|
|
21
|
-
s.files = Dir.glob("lib/**/*") + Dir.glob("ext/**/*") + %w(Rakefile acpc_poker_player_proxy.gemspec
|
21
|
+
s.files = Dir.glob("lib/**/*") + Dir.glob("ext/**/*") + %w(Rakefile acpc_poker_player_proxy.gemspec README.md)
|
22
22
|
s.test_files = Dir.glob "spec/**/*"
|
23
23
|
s.require_paths = ["lib"]
|
24
24
|
|
25
|
-
s.add_development_dependency '
|
26
|
-
s.add_development_dependency '
|
27
|
-
s.add_development_dependency '
|
28
|
-
s.add_development_dependency '
|
29
|
-
s.add_development_dependency '
|
30
|
-
s.add_development_dependency '
|
25
|
+
s.add_development_dependency 'turn', '~> 0.9'
|
26
|
+
s.add_development_dependency 'minitest', '~> 4.7'
|
27
|
+
s.add_development_dependency 'acpc_dealer', '~> 1.0'
|
28
|
+
s.add_development_dependency 'awesome_print', '~> 1.0'
|
29
|
+
s.add_development_dependency 'pry-rescue', '~> 1.0'
|
30
|
+
s.add_development_dependency 'simplecov', '~> 0.7'
|
31
|
+
s.add_development_dependency 'mocha', '~> 0.13'
|
31
32
|
end
|
@@ -1,13 +1,15 @@
|
|
1
1
|
|
2
|
-
require '
|
2
|
+
require 'contextual_exceptions'
|
3
3
|
|
4
4
|
require 'acpc_poker_match_state/players_at_the_table'
|
5
5
|
require 'acpc_poker_types/player'
|
6
6
|
require 'acpc_poker_types/game_definition'
|
7
7
|
require 'acpc_poker_basic_proxy/basic_proxy'
|
8
8
|
|
9
|
-
class PlayerProxy
|
9
|
+
class AcpcPokerPlayerProxy::PlayerProxy
|
10
10
|
include AcpcPokerTypes
|
11
|
+
include AcpcPokerMatchState
|
12
|
+
include AcpcPokerBasicProxy
|
11
13
|
|
12
14
|
exceptions :match_ended
|
13
15
|
|
@@ -75,10 +77,10 @@ class PlayerProxy
|
|
75
77
|
private
|
76
78
|
|
77
79
|
def update_match_state_if_necessary!
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
80
|
+
return self if @players_at_the_table.users_turn_to_act? || @players_at_the_table.match_ended?
|
81
|
+
|
82
|
+
update_match_state! do |players_at_the_table|
|
83
|
+
yield players_at_the_table
|
82
84
|
end
|
83
85
|
end
|
84
86
|
|
data/spec/coverage/index.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<img src="./assets/0.7.1/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2013-05-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2013-05-10T11:47:30-06:00">2013-05-10T11:47:30-06:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
@@ -0,0 +1,227 @@
|
|
1
|
+
require_relative 'support/spec_helper'
|
2
|
+
|
3
|
+
require 'acpc_poker_types/player'
|
4
|
+
require 'acpc_poker_basic_proxy'
|
5
|
+
require 'acpc_poker_types/game_definition'
|
6
|
+
|
7
|
+
require 'acpc_dealer'
|
8
|
+
|
9
|
+
require 'acpc_poker_player_proxy/player_proxy'
|
10
|
+
|
11
|
+
include AcpcPokerTypes
|
12
|
+
include AcpcDealerData
|
13
|
+
include AcpcPokerBasicProxy
|
14
|
+
include CommunicationLogic
|
15
|
+
include AcpcPokerPlayerProxy
|
16
|
+
|
17
|
+
describe PlayerProxy do
|
18
|
+
PORT_NUMBER = 9001
|
19
|
+
HOST_NAME = 'localhost'
|
20
|
+
MILLISECOND_RESPONSE_TIMEOUT = 0
|
21
|
+
DEALER_INFO = AcpcDealer::ConnectionInformation.new HOST_NAME, PORT_NUMBER, MILLISECOND_RESPONSE_TIMEOUT
|
22
|
+
|
23
|
+
describe '#update!' do
|
24
|
+
describe "keeps track of state for a sequence of match states and actions in Doyle's game" do
|
25
|
+
it 'in no-limit' do
|
26
|
+
# Change this number to do more or less thorough tests.
|
27
|
+
# Some interesting three player hands occur after 120
|
28
|
+
# Careful though, even 10 hands takes about 7 seconds,
|
29
|
+
# and it scales more than linearly
|
30
|
+
num_hands = 20
|
31
|
+
each_match(num_hands) do |match|
|
32
|
+
@match = match
|
33
|
+
@match.for_every_seat! do |users_seat|
|
34
|
+
|
35
|
+
@basic_proxy = init_basic_proxy
|
36
|
+
|
37
|
+
@patient = PlayerProxy.new(
|
38
|
+
DEALER_INFO,
|
39
|
+
users_seat,
|
40
|
+
@match.match_def.game_def,
|
41
|
+
@match.players.map { |player| player.name }.join(' '),
|
42
|
+
num_hands
|
43
|
+
) do |patt|
|
44
|
+
|
45
|
+
check_players_at_the_table patt
|
46
|
+
|
47
|
+
@match.next_hand! unless @match.hand_number
|
48
|
+
|
49
|
+
if @match.current_hand.final_turn?
|
50
|
+
@match.current_hand.end_hand!
|
51
|
+
break if @match.final_hand?
|
52
|
+
@match.next_hand!
|
53
|
+
end
|
54
|
+
@match.next_turn!
|
55
|
+
|
56
|
+
@basic_proxy.expects(:receive_match_state!).returns(
|
57
|
+
@match.current_hand.current_match_state
|
58
|
+
).once
|
59
|
+
end
|
60
|
+
|
61
|
+
while @match.current_hand.last_action do
|
62
|
+
@basic_proxy.expects(:send_action).once.with(@match.current_hand.last_action.action.to_acpc)
|
63
|
+
|
64
|
+
@patient.play!(@match.current_hand.last_action.action.to_acpc) do |patt|
|
65
|
+
|
66
|
+
check_players_at_the_table patt
|
67
|
+
|
68
|
+
if @match.current_hand.final_turn?
|
69
|
+
@match.current_hand.end_hand!
|
70
|
+
break if @match.final_hand?
|
71
|
+
@match.next_hand!
|
72
|
+
end
|
73
|
+
@match.next_turn!
|
74
|
+
|
75
|
+
@basic_proxy.expects(:receive_match_state!).returns(
|
76
|
+
@match.current_hand.current_match_state
|
77
|
+
).once
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
@match.hand_number.must_equal(num_hands - 1)
|
82
|
+
@match.current_hand.end_hand!
|
83
|
+
@match.end_match!
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
def each_match(num_hands)
|
90
|
+
match_logs.each do |log_description|
|
91
|
+
yield PokerMatchData.parse_files(
|
92
|
+
log_description.actions_file_path,
|
93
|
+
log_description.results_file_path,
|
94
|
+
log_description.player_names,
|
95
|
+
AcpcDealer::DEALER_DIRECTORY,
|
96
|
+
num_hands
|
97
|
+
)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
def init_basic_proxy
|
101
|
+
@basic_proxy = mock 'BasicProxy'
|
102
|
+
BasicProxy.expects(:new).with(DEALER_INFO).returns(@basic_proxy).once
|
103
|
+
@basic_proxy
|
104
|
+
end
|
105
|
+
|
106
|
+
def check_players_at_the_table(patient)
|
107
|
+
patient.player_acting_sequence.must_equal @match.player_acting_sequence
|
108
|
+
patient.number_of_players.must_equal @match.players.length
|
109
|
+
check_last_action patient
|
110
|
+
check_next_to_act patient
|
111
|
+
check_last_turn patient
|
112
|
+
patient.opponents_cards_visible?.must_equal @match.opponents_cards_visible?
|
113
|
+
patient.reached_showdown?.must_equal @match.opponents_cards_visible?
|
114
|
+
patient.less_than_two_non_folded_players?.must_equal @match.non_folded_players.length < 2
|
115
|
+
|
116
|
+
if @match.current_hand
|
117
|
+
patient.hand_ended?.must_equal @match.current_hand.final_turn?
|
118
|
+
patient.match_ended?.must_equal (@match.final_hand? && @match.current_hand.final_turn?)
|
119
|
+
end
|
120
|
+
patient.last_hand?.must_equal (
|
121
|
+
if @match.final_hand?.nil?
|
122
|
+
false
|
123
|
+
else
|
124
|
+
@match.final_hand?
|
125
|
+
end
|
126
|
+
)
|
127
|
+
patient.player_acting_sequence_string.must_equal @match.player_acting_sequence_string
|
128
|
+
patient.users_turn_to_act?.must_equal @match.users_turn_to_act?
|
129
|
+
check_betting_sequence patient
|
130
|
+
# @todo Test this eventually
|
131
|
+
# patient.min_wager.to_i.must_equal @min_wager.to_i
|
132
|
+
end
|
133
|
+
def check_player_blind_relation(patient)
|
134
|
+
expected_player_blind_relation = @match.player_blind_relation
|
135
|
+
patient.player_blind_relation.each do |player, blind|
|
136
|
+
expected_player_and_blind = expected_player_blind_relation.to_a.find do |player_and_blind|
|
137
|
+
player_and_blind.first.seat == player.seat
|
138
|
+
end
|
139
|
+
|
140
|
+
expected_player = expected_player_and_blind.first
|
141
|
+
expected_blind = expected_player_and_blind.last
|
142
|
+
|
143
|
+
player.close_enough?(expected_player).must_equal true
|
144
|
+
blind.must_equal expected_blind
|
145
|
+
end
|
146
|
+
end
|
147
|
+
def check_betting_sequence(patient)
|
148
|
+
patient_betting_sequence = patient.betting_sequence.map do |actions|
|
149
|
+
actions.map { |action| PokerAction.new(action.to_s).to_s }
|
150
|
+
end
|
151
|
+
expected_betting_sequence = @match.betting_sequence.map do |actions|
|
152
|
+
actions.map { |action| action.to_s }
|
153
|
+
end
|
154
|
+
patient_betting_sequence.must_equal expected_betting_sequence
|
155
|
+
|
156
|
+
patient.betting_sequence_string.scan(/([a-z]\d*|\/)/).flatten.map do |action|
|
157
|
+
if action.match(/\//)
|
158
|
+
action
|
159
|
+
else
|
160
|
+
PokerAction.new(action).to_s
|
161
|
+
end
|
162
|
+
end.join('').must_equal @match.betting_sequence_string
|
163
|
+
end
|
164
|
+
def check_last_action(patient)
|
165
|
+
if @match.current_hand && @match.current_hand.last_action
|
166
|
+
patient.player_who_acted_last.seat.must_equal @match.current_hand.last_action.seat
|
167
|
+
else
|
168
|
+
patient.player_who_acted_last.must_be_nil
|
169
|
+
end
|
170
|
+
end
|
171
|
+
def check_next_to_act(patient)
|
172
|
+
if @match.current_hand && @match.current_hand.next_action
|
173
|
+
patient.next_player_to_act.seat.must_equal @match.current_hand.next_action.seat
|
174
|
+
else
|
175
|
+
patient.next_player_to_act.must_be_nil
|
176
|
+
end
|
177
|
+
end
|
178
|
+
def check_last_turn(patient)
|
179
|
+
return unless @match.current_hand && @match.current_hand.final_turn?
|
180
|
+
patient.players.players_close_enough?(@match.players).must_equal true
|
181
|
+
patient.user_player.close_enough?(@match.player).must_equal true
|
182
|
+
patient.opponents.players_close_enough?(@match.opponents).must_equal true
|
183
|
+
patient.non_folded_players.players_close_enough?(@match.non_folded_players).must_equal true
|
184
|
+
patient.active_players.players_close_enough?(@match.active_players).must_equal true
|
185
|
+
patient.player_with_dealer_button.close_enough?(@match.player_with_dealer_button).must_equal true
|
186
|
+
check_player_blind_relation patient
|
187
|
+
patient.chip_stacks.must_equal @match.chip_stacks
|
188
|
+
patient.chip_balances.must_equal @match.chip_balances
|
189
|
+
patient.chip_contributions.sum.must_equal @match.chip_contributions.sum
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
class Array
|
194
|
+
def players_close_enough?(other_players)
|
195
|
+
return false if other_players.length != length
|
196
|
+
each_with_index do |player, index|
|
197
|
+
return false unless player.close_enough?(other_players[index])
|
198
|
+
end
|
199
|
+
true
|
200
|
+
end
|
201
|
+
def reject_empty_elements
|
202
|
+
reject do |elem|
|
203
|
+
elem.empty?
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
class AcpcPokerTypes::Player
|
209
|
+
def acpc_actions_taken_this_hand
|
210
|
+
acpc_actions = @actions_taken_this_hand.map do |actions_per_turn|
|
211
|
+
actions_per_turn.map { |action| AcpcPokerTypes::PokerAction.new(action).to_s }
|
212
|
+
end
|
213
|
+
if acpc_actions.first.empty?
|
214
|
+
acpc_actions
|
215
|
+
else
|
216
|
+
acpc_actions.reject_empty_elements
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
def close_enough?(other)
|
221
|
+
@name == other.name &&
|
222
|
+
@seat == other.seat &&
|
223
|
+
@chip_stack == other.chip_stack &&
|
224
|
+
@chip_balance == other.chip_balance &&
|
225
|
+
acpc_actions_taken_this_hand == other.acpc_actions_taken_this_hand
|
226
|
+
end
|
227
|
+
end
|
data/spec/support/spec_helper.rb
CHANGED
@@ -1,17 +1,34 @@
|
|
1
|
-
|
2
1
|
require 'simplecov'
|
3
2
|
SimpleCov.start
|
4
3
|
|
5
|
-
require '
|
4
|
+
require 'minitest/spec'
|
5
|
+
require 'minitest/pride'
|
6
|
+
require 'minitest/mock'
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
require 'turn'
|
9
|
+
Turn.config do |c|
|
10
|
+
# use one of output formats:
|
11
|
+
# :outline - turn's original case/test outline mode [default]
|
12
|
+
# :progress - indicates progress with progress bar
|
13
|
+
# :dotted - test/unit's traditional dot-progress mode
|
14
|
+
# :pretty - new pretty reporter
|
15
|
+
# :marshal - dump output as YAML (normal run mode only)
|
16
|
+
# :cue - interactive testing
|
17
|
+
c.format = :dotted
|
18
|
+
# use humanized test names (works only with :outline format)
|
19
|
+
c.natural = true
|
10
20
|
end
|
11
21
|
|
12
|
-
require '
|
22
|
+
require 'awesome_print'
|
23
|
+
module Minitest::Assertions
|
24
|
+
def mu_pp(obj)
|
25
|
+
obj.awesome_inspect
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
require 'mocha/setup'
|
30
|
+
require 'pry-rescue/minitest'
|
13
31
|
|
14
|
-
# @todo This is duplicated from match state gem tests
|
15
32
|
# Match log information in dealer_logs
|
16
33
|
class MatchLog
|
17
34
|
DEALER_LOG_DIRECTORY = File.expand_path('../dealer_logs', __FILE__)
|
@@ -56,4 +73,4 @@ def match_logs
|
|
56
73
|
['p1', 'p2', 'p3']
|
57
74
|
)
|
58
75
|
]
|
59
|
-
end
|
76
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acpc_poker_player_proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dustin Morrill
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: acpc_poker_match_state
|
@@ -16,30 +16,44 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: acpc_poker_basic_proxy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: acpc_poker_types
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: contextual_exceptions
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - ~>
|
@@ -53,103 +67,103 @@ dependencies:
|
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: turn
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ~>
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
type: :
|
75
|
+
version: '0.9'
|
76
|
+
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - ~>
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
82
|
+
version: '0.9'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: minitest
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ~>
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
89
|
+
version: '4.7'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ~>
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
96
|
+
version: '4.7'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: acpc_dealer
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ~>
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
103
|
+
version: '1.0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ~>
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
110
|
+
version: '1.0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: awesome_print
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
117
|
+
version: '1.0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ~>
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
124
|
+
version: '1.0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: pry-rescue
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ~>
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
131
|
+
version: '1.0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ~>
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
138
|
+
version: '1.0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: simplecov
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - ~>
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
145
|
+
version: '0.7'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - ~>
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
152
|
+
version: '0.7'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
154
|
+
name: mocha
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - ~>
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
159
|
+
version: '0.13'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - ~>
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
166
|
+
version: '0.13'
|
153
167
|
description: A smart proxy for a poker player that connects to the ACPC Dealer and
|
154
168
|
manages match state data
|
155
169
|
email:
|
@@ -163,9 +177,7 @@ files:
|
|
163
177
|
- lib/acpc_poker_player_proxy.rb
|
164
178
|
- Rakefile
|
165
179
|
- acpc_poker_player_proxy.gemspec
|
166
|
-
- tasks.rb
|
167
180
|
- README.md
|
168
|
-
- spec/player_proxy_nolimit_spec.rb
|
169
181
|
- spec/support/dealer_logs/3p.limit.h1000.r0.actions.log
|
170
182
|
- spec/support/dealer_logs/3p.limit.h1000.r0.log
|
171
183
|
- spec/support/dealer_logs/3p.nolimit.h1000.r0.actions.log
|
@@ -174,11 +186,7 @@ files:
|
|
174
186
|
- spec/support/dealer_logs/2p.nolimit.h1000.r0.log
|
175
187
|
- spec/support/dealer_logs/2p.nolimit.h1000.r0.actions.log
|
176
188
|
- spec/support/dealer_logs/2p.limit.h1000.r0.log
|
177
|
-
- spec/support/dealer_data.rb
|
178
189
|
- spec/support/spec_helper.rb
|
179
|
-
- spec/support/rearrange_dealer_data.rb
|
180
|
-
- spec/support/dealer_data.two_player_limit.rb
|
181
|
-
- spec/player_proxy_limit_spec.rb
|
182
190
|
- spec/coverage/index.html
|
183
191
|
- spec/coverage/assets/0.7.1/application.js
|
184
192
|
- spec/coverage/assets/0.7.1/magnify.png
|
@@ -220,6 +228,7 @@ files:
|
|
220
228
|
- spec/coverage/assets/0.7.1/favicon_green.png
|
221
229
|
- spec/coverage/assets/0.7.1/favicon_red.png
|
222
230
|
- spec/coverage/assets/0.7.1/loading.gif
|
231
|
+
- spec/player_proxy_spec.rb
|
223
232
|
homepage: https://github.com/dmorrill10/acpc_poker_player_proxy
|
224
233
|
licenses: []
|
225
234
|
metadata: {}
|
@@ -244,7 +253,6 @@ signing_key:
|
|
244
253
|
specification_version: 4
|
245
254
|
summary: ACPC Poker Player Proxy
|
246
255
|
test_files:
|
247
|
-
- spec/player_proxy_nolimit_spec.rb
|
248
256
|
- spec/support/dealer_logs/3p.limit.h1000.r0.actions.log
|
249
257
|
- spec/support/dealer_logs/3p.limit.h1000.r0.log
|
250
258
|
- spec/support/dealer_logs/3p.nolimit.h1000.r0.actions.log
|
@@ -253,11 +261,7 @@ test_files:
|
|
253
261
|
- spec/support/dealer_logs/2p.nolimit.h1000.r0.log
|
254
262
|
- spec/support/dealer_logs/2p.nolimit.h1000.r0.actions.log
|
255
263
|
- spec/support/dealer_logs/2p.limit.h1000.r0.log
|
256
|
-
- spec/support/dealer_data.rb
|
257
264
|
- spec/support/spec_helper.rb
|
258
|
-
- spec/support/rearrange_dealer_data.rb
|
259
|
-
- spec/support/dealer_data.two_player_limit.rb
|
260
|
-
- spec/player_proxy_limit_spec.rb
|
261
265
|
- spec/coverage/index.html
|
262
266
|
- spec/coverage/assets/0.7.1/application.js
|
263
267
|
- spec/coverage/assets/0.7.1/magnify.png
|
@@ -299,3 +303,4 @@ test_files:
|
|
299
303
|
- spec/coverage/assets/0.7.1/favicon_green.png
|
300
304
|
- spec/coverage/assets/0.7.1/favicon_red.png
|
301
305
|
- spec/coverage/assets/0.7.1/loading.gif
|
306
|
+
- spec/player_proxy_spec.rb
|