betfair 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
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
- bf_bet = []
58
+ bf_bets = []
59
59
  bets.each do |bet|
60
- bf_bet << {
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' => bf_bet } )
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
- bf_bet = []
98
- bets.each { |bet_id| bf_bet << { :betId => 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' => bf_bet } ) # "CancelBets" has to be a string, not a symbol!
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 = { :market_id => aux.split('~')[0].to_i,
416
- :currency => aux.split('~')[1].to_s,
417
- :market_status => aux.split('~')[2].to_s,
418
- :in_play_delay => aux.split('~')[3].to_i,
419
- :number_of_winners => aux.split('~')[4].to_i,
420
- :market_information => aux.split('~')[5].to_s,
421
- :discount_allowed => aux.split('~')[6] == 'true' ? true : false,
422
- :market_base_rate => aux.split('~')[7].to_s,
423
- :refresh_time_in_milliseconds => aux.split('~')[8].to_i,
424
- :removed_runners => aux.split('~')[9].to_s,
425
- :bsp_market => aux.split('~')[10] == 'Y' ? true : false
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
@@ -1,3 +1,3 @@
1
1
  module Betfair
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
@@ -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.17
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-23 00:00:00.000000000Z
12
+ date: 2012-03-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
16
- requirement: &70181452429080 !ruby/object:Gem::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: *70181452429080
24
+ version_requirements: *70316480491140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70181452427520 !ruby/object:Gem::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: *70181452427520
35
+ version_requirements: *70316480490700
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70181452426460 !ruby/object:Gem::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: *70181452426460
46
+ version_requirements: *70316480489520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: savon_spec
49
- requirement: &70181452425740 !ruby/object:Gem::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: *70181452425740
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: -4185997546867498005
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: -4185997546867498005
117
+ hash: -3087323840172885691
118
118
  requirements: []
119
119
  rubyforge_project: betfair
120
120
  rubygems_version: 1.8.10