acpc_dealer_data 0.1.2 → 0.1.3
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.
- data/lib/acpc_dealer_data/action_messages.rb +8 -4
- data/lib/acpc_dealer_data/hand_results.rb +8 -4
- data/lib/acpc_dealer_data/poker_match_data.rb +51 -15
- data/lib/acpc_dealer_data/version.rb +1 -1
- data/spec/action_messages_spec.rb +76 -25
- data/spec/hand_results_spec.rb +80 -19
- data/spec/poker_match_data_spec.rb +51 -20
- metadata +4 -4
|
@@ -81,15 +81,18 @@ class ActionMessages
|
|
|
81
81
|
end
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
class LogFile < File
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.parse_file(acpc_log_file_path, player_names, game_def_directory, num_hands=nil)
|
|
88
|
+
LogFile.open(acpc_log_file_path, 'r') do |file|
|
|
89
|
+
ActionMessages.parse file, player_names, game_def_directory, num_hands
|
|
87
90
|
end
|
|
88
91
|
end
|
|
89
92
|
|
|
90
93
|
alias_new :parse
|
|
91
94
|
|
|
92
|
-
def initialize(acpc_log_statements, player_names, game_def_directory)
|
|
95
|
+
def initialize(acpc_log_statements, player_names, game_def_directory, num_hands=nil)
|
|
93
96
|
@final_score = nil
|
|
94
97
|
@match_def = nil
|
|
95
98
|
@data = acpc_log_statements.inject([]) do |accumulating_data, log_line|
|
|
@@ -102,6 +105,7 @@ class ActionMessages
|
|
|
102
105
|
accumulating_data.empty? ||
|
|
103
106
|
accumulating_data.last.first[:state].hand_number != parsed_message[:state].hand_number
|
|
104
107
|
)
|
|
108
|
+
break accumulating_data if accumulating_data.length == num_hands
|
|
105
109
|
accumulating_data << []
|
|
106
110
|
end
|
|
107
111
|
|
|
@@ -41,15 +41,18 @@ class HandResults
|
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
class LogFile < File
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.parse_file(acpc_log_file_path, player_names, game_def_directory, num_hands=nil)
|
|
48
|
+
LogFile.open(acpc_log_file_path, 'r') do |file|
|
|
49
|
+
HandResults.parse file, player_names, game_def_directory, num_hands
|
|
47
50
|
end
|
|
48
51
|
end
|
|
49
52
|
|
|
50
53
|
alias_new :parse
|
|
51
54
|
|
|
52
|
-
def initialize(acpc_log_statements, player_names, game_def_directory)
|
|
55
|
+
def initialize(acpc_log_statements, player_names, game_def_directory, num_hands=nil)
|
|
53
56
|
@final_score = nil
|
|
54
57
|
@match_def = nil
|
|
55
58
|
|
|
@@ -60,6 +63,7 @@ class HandResults
|
|
|
60
63
|
parsed_message = HandResults.parse_state(log_line)
|
|
61
64
|
if parsed_message
|
|
62
65
|
accumulating_data << parsed_message
|
|
66
|
+
break accumulating_data if accumulating_data.length == num_hands
|
|
63
67
|
else
|
|
64
68
|
@final_score = HandResults.parse_score(log_line) unless @final_score
|
|
65
69
|
end
|
|
@@ -32,19 +32,57 @@ class PokerMatchData
|
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
# @returns [PokerMatchData]
|
|
35
|
-
def self.parse_files(action_messages_file, result_messages_file, player_names, dealer_directory)
|
|
36
|
-
parsed_action_messages = Celluloid::Future.new
|
|
37
|
-
|
|
35
|
+
def self.parse_files(action_messages_file, result_messages_file, player_names, dealer_directory, num_hands=nil)
|
|
36
|
+
parsed_action_messages = Celluloid::Future.new do
|
|
37
|
+
ActionMessages.parse_file(
|
|
38
|
+
action_messages_file,
|
|
39
|
+
player_names,
|
|
40
|
+
dealer_directory,
|
|
41
|
+
num_hands
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
parsed_hand_results = Celluloid::Future.new do
|
|
45
|
+
HandResults.parse_file(
|
|
46
|
+
result_messages_file,
|
|
47
|
+
player_names,
|
|
48
|
+
dealer_directory,
|
|
49
|
+
num_hands
|
|
50
|
+
)
|
|
51
|
+
end
|
|
38
52
|
|
|
39
|
-
PokerMatchData.new
|
|
53
|
+
PokerMatchData.new(
|
|
54
|
+
parsed_action_messages.value,
|
|
55
|
+
parsed_hand_results.value,
|
|
56
|
+
player_names,
|
|
57
|
+
dealer_directory
|
|
58
|
+
)
|
|
40
59
|
end
|
|
41
60
|
|
|
42
61
|
# @returns [PokerMatchData]
|
|
43
|
-
def self.parse(action_messages, result_messages, player_names, dealer_directory)
|
|
44
|
-
parsed_action_messages = Celluloid::Future.new
|
|
45
|
-
|
|
62
|
+
def self.parse(action_messages, result_messages, player_names, dealer_directory, num_hands=nil)
|
|
63
|
+
parsed_action_messages = Celluloid::Future.new do
|
|
64
|
+
ActionMessages.parse(
|
|
65
|
+
action_messages,
|
|
66
|
+
player_names,
|
|
67
|
+
dealer_directory,
|
|
68
|
+
num_hands
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
parsed_hand_results = Celluloid::Future.new do
|
|
72
|
+
HandResults.parse(
|
|
73
|
+
result_messages,
|
|
74
|
+
player_names,
|
|
75
|
+
dealer_directory,
|
|
76
|
+
num_hands
|
|
77
|
+
)
|
|
78
|
+
end
|
|
46
79
|
|
|
47
|
-
PokerMatchData.new
|
|
80
|
+
PokerMatchData.new(
|
|
81
|
+
parsed_action_messages.value,
|
|
82
|
+
parsed_hand_results.value,
|
|
83
|
+
player_names,
|
|
84
|
+
dealer_directory
|
|
85
|
+
)
|
|
48
86
|
end
|
|
49
87
|
|
|
50
88
|
def initialize(parsed_action_messages, parsed_hand_results, player_names, dealer_directory)
|
|
@@ -57,8 +95,6 @@ class PokerMatchData
|
|
|
57
95
|
end
|
|
58
96
|
|
|
59
97
|
if (
|
|
60
|
-
parsed_action_messages.final_score.nil? ||
|
|
61
|
-
parsed_hand_results.final_score.nil? ||
|
|
62
98
|
parsed_action_messages.final_score != parsed_hand_results.final_score
|
|
63
99
|
)
|
|
64
100
|
raise FinalScoresDoNotMatch
|
|
@@ -66,7 +102,9 @@ class PokerMatchData
|
|
|
66
102
|
|
|
67
103
|
@match_def = parsed_hand_results.match_def
|
|
68
104
|
|
|
69
|
-
|
|
105
|
+
if parsed_hand_results.final_score
|
|
106
|
+
set_chip_distribution! parsed_hand_results.final_score
|
|
107
|
+
end
|
|
70
108
|
|
|
71
109
|
set_data! parsed_action_messages, parsed_hand_results
|
|
72
110
|
|
|
@@ -96,7 +134,7 @@ class PokerMatchData
|
|
|
96
134
|
def all_in?(seat=@seat) @players[seat].all_in? end
|
|
97
135
|
def active?(seat=@seat) @players[seat].active? end
|
|
98
136
|
|
|
99
|
-
def for_every_hand!
|
|
137
|
+
def for_every_hand!
|
|
100
138
|
initialize_players!
|
|
101
139
|
|
|
102
140
|
@data.each_index do |i|
|
|
@@ -111,11 +149,9 @@ class PokerMatchData
|
|
|
111
149
|
end
|
|
112
150
|
|
|
113
151
|
yield @hand_number
|
|
114
|
-
|
|
115
|
-
break if @hand_number + 1 >= num_hands
|
|
116
152
|
end
|
|
117
153
|
|
|
118
|
-
if @
|
|
154
|
+
if @chip_distribution && @chip_distribution != @players.map { |p| p.chip_balance }
|
|
119
155
|
raise PlayerDataInconsistent, "chip distribution: #{@chip_distribution}, player balances: #{@players.map { |p| p.chip_balance }}"
|
|
120
156
|
end
|
|
121
157
|
|
|
@@ -18,6 +18,7 @@ describe ActionMessages do
|
|
|
18
18
|
@patient = nil
|
|
19
19
|
@match_def = nil
|
|
20
20
|
@player_names = nil
|
|
21
|
+
@no_final_score = false
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
describe '::parse_to_message' do
|
|
@@ -109,46 +110,96 @@ describe ActionMessages do
|
|
|
109
110
|
end
|
|
110
111
|
|
|
111
112
|
describe 'properly parses ACPC log statements' do
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
describe 'from file' do
|
|
114
|
+
it 'when every hand is desired' do
|
|
115
|
+
init_data do |action_messages|
|
|
116
|
+
file_name = 'file_name'
|
|
117
|
+
ActionMessages::LogFile.expects(:open).with(file_name, 'r').yields(
|
|
118
|
+
action_messages
|
|
119
|
+
).returns(
|
|
120
|
+
ActionMessages.parse(
|
|
121
|
+
action_messages,
|
|
122
|
+
@player_names,
|
|
123
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
124
|
+
)
|
|
125
|
+
)
|
|
114
126
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
File.expects(:open).with(file_name, 'r').yields(
|
|
118
|
-
action_messages
|
|
119
|
-
).returns(
|
|
120
|
-
ActionMessages.parse(
|
|
121
|
-
action_messages,
|
|
127
|
+
@patient = ActionMessages.parse_file(
|
|
128
|
+
file_name,
|
|
122
129
|
@player_names,
|
|
123
130
|
AcpcDealer::DEALER_DIRECTORY
|
|
124
131
|
)
|
|
125
|
-
)
|
|
126
132
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
check_patient
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
it 'when a particular number of hands is desired' do
|
|
137
|
+
@no_final_score = true
|
|
138
|
+
num_hands = 1
|
|
139
|
+
init_data do |action_messages|
|
|
140
|
+
file_name = 'file_name'
|
|
141
|
+
ActionMessages::LogFile.expects(:open).with(file_name, 'r').yields(
|
|
142
|
+
action_messages
|
|
143
|
+
).returns(
|
|
144
|
+
ActionMessages.parse(
|
|
145
|
+
action_messages,
|
|
146
|
+
@player_names,
|
|
147
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
148
|
+
num_hands
|
|
149
|
+
)
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
@patient = ActionMessages.parse_file(
|
|
153
|
+
file_name,
|
|
154
|
+
@player_names,
|
|
155
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
156
|
+
num_hands
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
# Fix data to check patient against
|
|
160
|
+
@final_score = nil
|
|
161
|
+
@data = @data[0..num_hands-1]
|
|
132
162
|
|
|
133
|
-
|
|
163
|
+
check_patient
|
|
164
|
+
end
|
|
134
165
|
end
|
|
135
166
|
end
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
167
|
+
describe 'from array' do
|
|
168
|
+
it 'when all hands are desired' do
|
|
169
|
+
init_data do |action_messages|
|
|
170
|
+
@patient = ActionMessages.parse(
|
|
171
|
+
action_messages,
|
|
172
|
+
@player_names,
|
|
173
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
174
|
+
)
|
|
143
175
|
|
|
144
|
-
|
|
176
|
+
check_patient
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
it 'when a particular number of hands is desired' do
|
|
180
|
+
@no_final_score = true
|
|
181
|
+
num_hands = 1
|
|
182
|
+
init_data do |log_statements|
|
|
183
|
+
@patient = ActionMessages.parse(
|
|
184
|
+
log_statements,
|
|
185
|
+
@player_names,
|
|
186
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
187
|
+
num_hands
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
# Fix data to check patient against
|
|
191
|
+
@final_score = nil
|
|
192
|
+
@data = @data[0..num_hands-1]
|
|
193
|
+
|
|
194
|
+
check_patient
|
|
195
|
+
end
|
|
145
196
|
end
|
|
146
197
|
end
|
|
147
198
|
end
|
|
148
199
|
|
|
149
200
|
def check_patient
|
|
150
201
|
@patient.data.must_equal @data
|
|
151
|
-
@patient.final_score.must_equal @final_score
|
|
202
|
+
@patient.final_score.must_equal @final_score unless @no_final_score
|
|
152
203
|
@patient.match_def.must_equal @match_def
|
|
153
204
|
end
|
|
154
205
|
|
data/spec/hand_results_spec.rb
CHANGED
|
@@ -16,6 +16,7 @@ describe HandResults do
|
|
|
16
16
|
@final_score = nil
|
|
17
17
|
@player_names = nil
|
|
18
18
|
@match_def = nil
|
|
19
|
+
@no_final_score = false
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
describe '::parse_state' do
|
|
@@ -56,36 +57,96 @@ describe HandResults do
|
|
|
56
57
|
end
|
|
57
58
|
|
|
58
59
|
describe 'properly parses ACPC log statements' do
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
describe 'from file' do
|
|
61
|
+
it 'when every hand is desired' do
|
|
62
|
+
init_data do |log_statements|
|
|
63
|
+
file_name = 'file_name'
|
|
64
|
+
HandResults::LogFile.stubs(:open).with(file_name, 'r').yields(
|
|
65
|
+
log_statements
|
|
66
|
+
).returns(
|
|
67
|
+
HandResults.parse(
|
|
68
|
+
log_statements,
|
|
69
|
+
@player_names,
|
|
70
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
71
|
+
)
|
|
72
|
+
)
|
|
61
73
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
74
|
+
@patient = HandResults.parse_file(
|
|
75
|
+
file_name,
|
|
76
|
+
@player_names,
|
|
77
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
78
|
+
)
|
|
67
79
|
|
|
68
|
-
|
|
80
|
+
check_patient
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
it 'when a particular number of hands is desired' do
|
|
84
|
+
@no_final_score = true
|
|
85
|
+
num_hands = 3
|
|
86
|
+
init_data do |log_statements|
|
|
87
|
+
file_name = 'file_name'
|
|
88
|
+
HandResults::LogFile.stubs(:open).with(file_name, 'r').yields(
|
|
89
|
+
log_statements
|
|
90
|
+
).returns(
|
|
91
|
+
HandResults.parse(
|
|
92
|
+
log_statements,
|
|
93
|
+
@player_names,
|
|
94
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
95
|
+
num_hands
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
@patient = HandResults.parse_file(
|
|
100
|
+
file_name,
|
|
101
|
+
@player_names,
|
|
102
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
103
|
+
num_hands
|
|
104
|
+
)
|
|
69
105
|
|
|
70
|
-
|
|
106
|
+
# Fix data to check patient against
|
|
107
|
+
@final_score = nil
|
|
108
|
+
@data = @data[0..num_hands-1]
|
|
109
|
+
|
|
110
|
+
check_patient
|
|
111
|
+
end
|
|
71
112
|
end
|
|
72
113
|
end
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
114
|
+
describe 'from array' do
|
|
115
|
+
it 'when every hand is desired' do
|
|
116
|
+
init_data do |log_statements|
|
|
117
|
+
@patient = HandResults.parse(
|
|
118
|
+
log_statements,
|
|
119
|
+
@player_names,
|
|
120
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
check_patient
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
it 'when a particular number of hands is desired' do
|
|
127
|
+
@no_final_score = true
|
|
128
|
+
num_hands = 3
|
|
129
|
+
init_data do |log_statements|
|
|
130
|
+
@patient = HandResults.parse(
|
|
131
|
+
log_statements,
|
|
132
|
+
@player_names,
|
|
133
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
134
|
+
num_hands
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# Fix data to check patient against
|
|
138
|
+
@final_score = nil
|
|
139
|
+
@data = @data[0..num_hands-1]
|
|
140
|
+
|
|
141
|
+
check_patient
|
|
142
|
+
end
|
|
82
143
|
end
|
|
83
144
|
end
|
|
84
145
|
end
|
|
85
146
|
|
|
86
147
|
def check_patient
|
|
87
148
|
@patient.data.must_equal @data
|
|
88
|
-
@patient.final_score.must_equal @final_score
|
|
149
|
+
@patient.final_score.must_equal @final_score unless @no_final_score
|
|
89
150
|
@patient.match_def.must_equal @match_def
|
|
90
151
|
end
|
|
91
152
|
|
|
@@ -22,6 +22,7 @@ describe PokerMatchData do
|
|
|
22
22
|
@hand_number = nil
|
|
23
23
|
@hand_data_list = nil
|
|
24
24
|
@final_hand = nil
|
|
25
|
+
@no_chip_distribution = false
|
|
25
26
|
end
|
|
26
27
|
|
|
27
28
|
describe 'when given action and result messages' do
|
|
@@ -85,25 +86,53 @@ describe PokerMatchData do
|
|
|
85
86
|
end
|
|
86
87
|
end
|
|
87
88
|
end
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
describe 'works properly' do
|
|
90
|
+
it 'for every hand' do
|
|
91
|
+
init_data do |action_messages, result_messages|
|
|
92
|
+
|
|
93
|
+
@patient = PokerMatchData.parse(
|
|
94
|
+
action_messages,
|
|
95
|
+
result_messages,
|
|
96
|
+
@player_names,
|
|
97
|
+
AcpcDealer::DEALER_DIRECTORY
|
|
98
|
+
)
|
|
99
|
+
@patient.seat = 0
|
|
98
100
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
@hand_number = 0
|
|
102
|
+
@patient.for_every_hand! do
|
|
103
|
+
@final_hand = @hand_number >= @hand_data_list.length - 1
|
|
104
|
+
@patient.for_every_turn! do
|
|
105
|
+
check_patient
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
@hand_number += 1
|
|
104
109
|
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
it 'for a particular number of hands' do
|
|
113
|
+
num_hands = 1
|
|
114
|
+
@no_chip_distribution = true
|
|
115
|
+
init_data(num_hands) do |action_messages, result_messages|
|
|
116
|
+
@chip_distribution = nil
|
|
117
|
+
|
|
118
|
+
@patient = PokerMatchData.parse(
|
|
119
|
+
action_messages,
|
|
120
|
+
result_messages,
|
|
121
|
+
@player_names,
|
|
122
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
123
|
+
num_hands
|
|
124
|
+
)
|
|
125
|
+
@patient.seat = 0
|
|
126
|
+
|
|
127
|
+
@hand_number = 0
|
|
128
|
+
@patient.for_every_hand! do
|
|
129
|
+
@final_hand = @hand_number >= @hand_data_list.length - 1
|
|
130
|
+
@patient.for_every_turn! do
|
|
131
|
+
check_patient
|
|
132
|
+
end
|
|
105
133
|
|
|
106
|
-
|
|
134
|
+
@hand_number += 1
|
|
135
|
+
end
|
|
107
136
|
end
|
|
108
137
|
end
|
|
109
138
|
end
|
|
@@ -111,13 +140,13 @@ describe PokerMatchData do
|
|
|
111
140
|
|
|
112
141
|
def check_patient
|
|
113
142
|
@patient.match_def.must_equal @match_def
|
|
114
|
-
@patient.chip_distribution.must_equal @chip_distribution
|
|
143
|
+
@patient.chip_distribution.must_equal @chip_distribution unless @no_chip_distribution
|
|
115
144
|
@patient.hand_number.must_equal @hand_number
|
|
116
145
|
@patient.current_hand.must_equal @hand_data_list[@hand_number]
|
|
117
146
|
@patient.final_hand?.must_equal @final_hand
|
|
118
147
|
end
|
|
119
148
|
|
|
120
|
-
def init_data
|
|
149
|
+
def init_data(num_hands=nil)
|
|
121
150
|
data.each do |game, data_hash|
|
|
122
151
|
@chip_distribution = data_hash[:chip_distribution]
|
|
123
152
|
@match_def_line_index = data_hash[:match_def_line_index]
|
|
@@ -130,12 +159,14 @@ describe PokerMatchData do
|
|
|
130
159
|
action_messages = ActionMessages.parse(
|
|
131
160
|
data_hash[:action_messages],
|
|
132
161
|
@player_names,
|
|
133
|
-
AcpcDealer::DEALER_DIRECTORY
|
|
162
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
163
|
+
num_hands
|
|
134
164
|
)
|
|
135
165
|
result_messages = HandResults.parse(
|
|
136
166
|
data_hash[:result_messages],
|
|
137
167
|
@player_names,
|
|
138
|
-
AcpcDealer::DEALER_DIRECTORY
|
|
168
|
+
AcpcDealer::DEALER_DIRECTORY,
|
|
169
|
+
num_hands
|
|
139
170
|
)
|
|
140
171
|
|
|
141
172
|
@hand_data_list = []
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: acpc_dealer_data
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2013-01-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: acpc_dealer
|
|
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
164
164
|
version: '0'
|
|
165
165
|
segments:
|
|
166
166
|
- 0
|
|
167
|
-
hash:
|
|
167
|
+
hash: -128442043826121202
|
|
168
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
169
|
none: false
|
|
170
170
|
requirements:
|
|
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
173
173
|
version: '0'
|
|
174
174
|
segments:
|
|
175
175
|
- 0
|
|
176
|
-
hash:
|
|
176
|
+
hash: -128442043826121202
|
|
177
177
|
requirements: []
|
|
178
178
|
rubyforge_project:
|
|
179
179
|
rubygems_version: 1.8.24
|