betfair 0.0.17 → 0.0.18
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/betfair/api.rb +59 -20
- data/lib/betfair/version.rb +1 -1
- data/spec/betfair/api_spec.rb +9 -0
- metadata +12 -12
data/lib/betfair/api.rb
CHANGED
@@ -55,9 +55,9 @@ module Betfair
|
|
55
55
|
|
56
56
|
|
57
57
|
def place_multiple_bets(session_token, exchange_id, bets)
|
58
|
-
|
58
|
+
bf_bets = []
|
59
59
|
bets.each do |bet|
|
60
|
-
|
60
|
+
bf_bets << {
|
61
61
|
:marketId => bet[:market_id],
|
62
62
|
:selectionId => bet[:runner_id],
|
63
63
|
:betType => bet[:bet_type],
|
@@ -74,12 +74,11 @@ module Betfair
|
|
74
74
|
session_request( session_token,
|
75
75
|
:placeBets,
|
76
76
|
:place_bets_response,
|
77
|
-
:bets => { 'PlaceBets' =>
|
77
|
+
:bets => { 'PlaceBets' => bf_bets } )
|
78
78
|
|
79
79
|
return response.maybe_result( :bet_results, :place_bets_result )
|
80
80
|
end
|
81
|
-
|
82
|
-
|
81
|
+
|
83
82
|
def cancel_bet(session_token, exchange_id, bet_id)
|
84
83
|
bf_bet = { :betId => bet_id }
|
85
84
|
|
@@ -94,19 +93,35 @@ module Betfair
|
|
94
93
|
|
95
94
|
|
96
95
|
def cancel_multiple_bets(session_token, exchange_id, bets)
|
97
|
-
|
98
|
-
bets.each { |bet_id|
|
96
|
+
bf_bets = []
|
97
|
+
bets.each { |bet_id| bf_bets << { :betId => bet_id } }
|
99
98
|
|
100
99
|
response = exchange(exchange_id).
|
101
100
|
session_request( session_token,
|
102
101
|
:cancelBets,
|
103
102
|
:cancel_bets_response,
|
104
|
-
:bets => { 'CancelBets' =>
|
103
|
+
:bets => { 'CancelBets' => bf_bets } ) # "CancelBets" has to be a string, not a symbol!
|
105
104
|
|
106
105
|
return response.maybe_result( :bet_results, :cancel_bets_result )
|
107
106
|
end
|
108
107
|
|
108
|
+
def cancel_bet_by_market(session_token, exchange_id, market_id)
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
def cancel_bets_by_market(session_token, exchange_id, market_ids)
|
113
|
+
|
114
|
+
end
|
115
|
+
|
116
|
+
def update_bet(session_token, exchange_id, market_id)
|
117
|
+
|
118
|
+
end
|
109
119
|
|
120
|
+
def update_bets(session_token, exchange_id, market_ids)
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
|
110
125
|
def get_market(session_token, exchange_id, market_id, locale = nil)
|
111
126
|
response = exchange(exchange_id).
|
112
127
|
session_request( session_token,
|
@@ -199,6 +214,14 @@ module Betfair
|
|
199
214
|
|
200
215
|
return response.maybe_result( :header, :session_token )
|
201
216
|
end
|
217
|
+
|
218
|
+
def keep_alive
|
219
|
+
|
220
|
+
end
|
221
|
+
|
222
|
+
def logout
|
223
|
+
|
224
|
+
end
|
202
225
|
|
203
226
|
#
|
204
227
|
## END OF API METHODS
|
@@ -412,17 +435,18 @@ module Betfair
|
|
412
435
|
# parsing first the auxiliary price info
|
413
436
|
aux = pieces.first
|
414
437
|
aux.gsub! "\0", '\:'
|
415
|
-
aux_hash = {
|
416
|
-
:
|
417
|
-
:
|
418
|
-
:
|
419
|
-
:
|
420
|
-
:
|
421
|
-
:
|
422
|
-
:
|
423
|
-
:
|
424
|
-
:
|
425
|
-
:
|
438
|
+
aux_hash = {
|
439
|
+
:market_id => aux.split('~')[0].to_i,
|
440
|
+
:currency => aux.split('~')[1].to_s,
|
441
|
+
:market_status => aux.split('~')[2].to_s,
|
442
|
+
:in_play_delay => aux.split('~')[3].to_i,
|
443
|
+
:number_of_winners => aux.split('~')[4].to_i,
|
444
|
+
:market_information => aux.split('~')[5].to_s,
|
445
|
+
:discount_allowed => aux.split('~')[6] == 'true' ? true : false,
|
446
|
+
:market_base_rate => aux.split('~')[7].to_s,
|
447
|
+
:refresh_time_in_milliseconds => aux.split('~')[8].to_i,
|
448
|
+
:removed_runners => aux.split('~')[9].to_s,
|
449
|
+
:bsp_market => aux.split('~')[10] == 'Y' ? true : false
|
426
450
|
}
|
427
451
|
|
428
452
|
# now iterating over the prices excluding the first piece that we already parsed above
|
@@ -498,6 +522,21 @@ module Betfair
|
|
498
522
|
return price
|
499
523
|
end
|
500
524
|
|
525
|
+
# Pass in the string returned from the get_all_markets() API call and get back a proper hash
|
526
|
+
def split_markets_string(markets)
|
527
|
+
foo = []
|
528
|
+
if markets.is_a?(String)
|
529
|
+
markets.split(':').each do |market|
|
530
|
+
bar = market.split('~')
|
531
|
+
doh = { market_id: bar[0].to_i, market_name: bar[1], market_type: bar[2], market_status: bar[3], event_date: bar[4].to_i, menu_path: bar[5], event_heirachy: bar[6],
|
532
|
+
bet_delay: bar[7].to_i, exchange_id: bar[8].to_i, iso3_country_code: bar[9], last_refresh: bar[10].to_i, number_of_runners: bar[11].to_i, number_of_winners: bar[12].to_i,
|
533
|
+
total_amount_matched: bar[13].to_f, bsp_market: bar[14], turning_in_play: bar[15] }
|
534
|
+
foo << doh if !doh[:market_name].nil?
|
535
|
+
end
|
536
|
+
end
|
537
|
+
return foo
|
538
|
+
end
|
539
|
+
|
501
540
|
end
|
502
|
-
|
541
|
+
|
503
542
|
end
|
data/lib/betfair/version.rb
CHANGED
data/spec/betfair/api_spec.rb
CHANGED
@@ -11,6 +11,15 @@ module Betfair
|
|
11
11
|
@helpers = Betfair::Helpers.new
|
12
12
|
end
|
13
13
|
|
14
|
+
describe "Create a hash from the get_all_markets API call" do
|
15
|
+
it "pulls the relevant stuff out of get_all_markets and puts it in a hash" do
|
16
|
+
savon.expects(:get_all_markets).returns(:success)
|
17
|
+
markets = @bf.get_all_markets(@session_token, 2)
|
18
|
+
markets = @helpers.split_markets_string(markets)
|
19
|
+
markets.should_not be_nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
14
23
|
describe "Create a hash for the market details" do
|
15
24
|
it "pulls the relevant stuff out of market details and puts it in a hash" do
|
16
25
|
savon.expects(:get_market).returns(:success)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: betfair
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-27 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: savon
|
16
|
-
requirement: &
|
16
|
+
requirement: &70316480491140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70316480491140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70316480490700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70316480490700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70316480489520 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70316480489520
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: savon_spec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70316480488940 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70316480488940
|
58
58
|
description: Gem for accessing the Betfair API.
|
59
59
|
email:
|
60
60
|
- lukeb@lukebyrne.com
|
@@ -105,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
segments:
|
107
107
|
- 0
|
108
|
-
hash: -
|
108
|
+
hash: -3087323840172885691
|
109
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
110
|
none: false
|
111
111
|
requirements:
|
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
114
|
version: '0'
|
115
115
|
segments:
|
116
116
|
- 0
|
117
|
-
hash: -
|
117
|
+
hash: -3087323840172885691
|
118
118
|
requirements: []
|
119
119
|
rubyforge_project: betfair
|
120
120
|
rubygems_version: 1.8.10
|