acpc_poker_player_proxy 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d3c62f111ca39e86c22117136cb1982af93356d
4
- data.tar.gz: 32b1dffa17fdace6976c96dc73d1e34d5634d93a
3
+ metadata.gz: ff16682d47490e106dd878140e98fbcf202f9618
4
+ data.tar.gz: 2ddadee19bbd495c9bda8763733764ebc5d5f43c
5
5
  SHA512:
6
- metadata.gz: 7659de00cec49894d7cf839d69bbb70ce10fdd29294b0cbde2396a3bcdfaca3e40a3a807124f3979aae946fadcf3951ef108b985d9614ab59a850bd85f388c2d
7
- data.tar.gz: 47cb588121dc0812eec257cd0ddcaf67397dabce491531050c29ba9b95d39276eb85cc9b3e248e36fe120f0ae61d2755e9c34c8ef933262c6db559dd77575a09
6
+ metadata.gz: f99496ba9a442c4b4cc3410c06ebcc763d8a1cca52b6de2812d672af76d08f4c8b678d9d6baa92fcfe499add45254c40ad0411ea832d549c5b4b66f1c8d4de95
7
+ data.tar.gz: 0390ec9f3e158ae1409f694c19173ebbdf79de9ee12aa8fc454a4297b192934d78033ad46763e37288d01965bfb09ac86455989a83a87b2887067758a6909376
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.2
4
+ before_install: gem install bundler -v 1.10.6
data/Rakefile CHANGED
@@ -8,5 +8,6 @@ Rake::TestTask.new do |t|
8
8
  t.libs << "lib" << 'spec/support'
9
9
  t.test_files = FileList['spec/**/*_spec.rb']
10
10
  t.verbose = false
11
- t.warning = false # pry-rescue has a lot of warnings
11
+ t.warning = true
12
12
  end
13
+ task :default => :test
@@ -11,7 +11,7 @@ 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_basic_proxy', '~> 3.0'
14
+ s.add_dependency 'acpc_poker_basic_proxy', '~> 3.2'
15
15
  s.add_dependency 'acpc_poker_types', '~> 7.0'
16
16
  s.add_dependency 'contextual_exceptions', '~> 0.0'
17
17
  s.add_dependency 'methadone', '~> 1.2'
@@ -24,14 +24,18 @@ class PlayerProxy < DelegateClass(AcpcPokerTypes::PlayersAtTheTable)
24
24
 
25
25
  attr_reader :game_def
26
26
 
27
+ attr_reader :must_send_ready
28
+
27
29
  # @param [DealerInformation] dealer_information Information about the dealer to which this bot should connect.
28
30
  # @param [GameDefinition, #to_s] game_definition_argument A game definition; either a +GameDefinition+ or the name of the file containing a game definition.
29
31
 
30
32
  def initialize(
31
33
  dealer_information,
32
34
  game_definition_argument,
33
- users_seat = nil
35
+ users_seat = nil,
36
+ must_send_ready = false
34
37
  )
38
+ @must_send_ready = must_send_ready
35
39
  game_def = if game_definition_argument.kind_of?(
36
40
  GameDefinition
37
41
  )
@@ -81,10 +85,31 @@ class PlayerProxy < DelegateClass(AcpcPokerTypes::PlayersAtTheTable)
81
85
  @match_has_ended
82
86
  end
83
87
 
88
+ def next_hand!
89
+ begin
90
+ @basic_proxy.send_ready
91
+ rescue AcpcPokerBasicProxy::DealerStream::UnableToWriteToDealer => e
92
+ raise MatchEnded.with_context(
93
+ "Cannot take action #{action} because the match has ended!",
94
+ e
95
+ )
96
+ end
97
+
98
+ update_match_state! do |players_at_the_table|
99
+ __setobj__ @players_at_the_table = players_at_the_table
100
+
101
+ yield @players_at_the_table if block_given?
102
+ end
103
+ end
104
+
84
105
  private
85
106
 
86
107
  def update_match_state_if_necessary!
87
- return self if @players_at_the_table.users_turn_to_act? || match_ended?
108
+ return self if (
109
+ @players_at_the_table.users_turn_to_act? ||
110
+ match_ended? ||
111
+ (@must_send_ready && @players_at_the_table.hand_ended?)
112
+ )
88
113
 
89
114
  update_match_state! do |players_at_the_table|
90
115
  yield players_at_the_table if block_given?
@@ -103,4 +128,4 @@ class PlayerProxy < DelegateClass(AcpcPokerTypes::PlayersAtTheTable)
103
128
  end
104
129
  end
105
130
  end
106
- end
131
+ end
@@ -1,3 +1,3 @@
1
1
  module AcpcPokerPlayerProxy
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0"
3
3
  end
metadata CHANGED
@@ -1,153 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acpc_poker_player_proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.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: 2014-07-18 00:00:00.000000000 Z
11
+ date: 2016-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acpc_poker_basic_proxy
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '3.2'
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: '3.0'
26
+ version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: acpc_poker_types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '7.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
40
  version: '7.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: contextual_exceptions
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: methadone
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.2'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: acpc_dealer
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 5.0.6
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 5.0.6
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: mocha
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0.13'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.13'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: awesome_print
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '1.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '1.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pry-rescue
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '1.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: simplecov
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0.7'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.7'
153
153
  description: A smart proxy for a poker player that connects to the ACPC Dealer and
@@ -159,8 +159,9 @@ executables:
159
159
  extensions: []
160
160
  extra_rdoc_files: []
161
161
  files:
162
- - .gitignore
163
- - .yardopts
162
+ - ".gitignore"
163
+ - ".travis.yml"
164
+ - ".yardopts"
164
165
  - Gemfile
165
166
  - LICENSE.md
166
167
  - README.md
@@ -189,17 +190,17 @@ require_paths:
189
190
  - lib
190
191
  required_ruby_version: !ruby/object:Gem::Requirement
191
192
  requirements:
192
- - - '>='
193
+ - - ">="
193
194
  - !ruby/object:Gem::Version
194
195
  version: '0'
195
196
  required_rubygems_version: !ruby/object:Gem::Requirement
196
197
  requirements:
197
- - - '>='
198
+ - - ">="
198
199
  - !ruby/object:Gem::Version
199
200
  version: '0'
200
201
  requirements: []
201
202
  rubyforge_project: acpc_poker_player_proxy
202
- rubygems_version: 2.0.3
203
+ rubygems_version: 2.5.1
203
204
  signing_key:
204
205
  specification_version: 4
205
206
  summary: ACPC Poker Player Proxy