betfair-ng 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/betfair/api/rest.rb +22 -3
- data/lib/betfair/client.rb +7 -1
- data/lib/betfair/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8107993206e732bc2b21302b0e60e5ea4d704461
|
4
|
+
data.tar.gz: 608768440ff00294f7a022d240891a5740120d87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e14922a83ea7acc09c60b028b837df3eac6a65514f3b087086521261f844cbc54d89f90e5780df46a30c10b068bfcf88aa3e04ebea7f9bb749cd334f7481b87a
|
7
|
+
data.tar.gz: d6439354aa07699acc613520c7ee43e99e9ccd9cba113aff99fd6c81159964820afc47b1c2bb494be6b3517dc7c3100cbe4f2724be26cf720d4aade68a316e7e
|
data/README.md
CHANGED
@@ -9,12 +9,16 @@ Full API description, including API parameters etc, is available from [Betfair's
|
|
9
9
|
Add this line to your application's Gemfile:
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem 'betfair'
|
12
|
+
gem 'betfair-ng'
|
13
13
|
```
|
14
14
|
|
15
15
|
And then execute:
|
16
16
|
|
17
17
|
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install betfair-ng
|
18
22
|
|
19
23
|
## Usage
|
20
24
|
|
@@ -87,6 +91,10 @@ client.place_orders({
|
|
87
91
|
client.logout
|
88
92
|
```
|
89
93
|
|
94
|
+
## Todo
|
95
|
+
|
96
|
+
1. Error handling
|
97
|
+
|
90
98
|
## Contributing
|
91
99
|
|
92
100
|
1. Fork it ( https://github.com/mikecmpbll/betfair/fork )
|
data/lib/betfair/api/rest.rb
CHANGED
@@ -33,11 +33,24 @@ module Betfair
|
|
33
33
|
headers: { "Content-Type" => "application/x-www-form-urlencoded" }
|
34
34
|
})
|
35
35
|
|
36
|
-
|
36
|
+
add_session_token_to_persistent_headers(json["token"])
|
37
|
+
end
|
37
38
|
|
38
|
-
|
39
|
-
|
39
|
+
# Performs the login procedure recommended for applications which run autonomously
|
40
|
+
# username: Betfair account username string
|
41
|
+
# password: Betfair account password string
|
42
|
+
# cert_key_file_path: Path to Betfair client certificate private key file
|
43
|
+
# cert_key_path: Path to Betfair client certificate public key file associated with Betfair account
|
44
|
+
def non_interactive_login(username, password, cert_key_file_path, cert_file_path)
|
45
|
+
json = post({
|
46
|
+
url: "https://identitysso.betfair.com/api/certlogin",
|
47
|
+
body: { username: username, password: password },
|
48
|
+
headers: { "Content-Type" => "application/x-www-form-urlencoded" },
|
49
|
+
cert_key_file_path: cert_key_file_path,
|
50
|
+
cert_file_path: cert_file_path
|
40
51
|
})
|
52
|
+
|
53
|
+
add_session_token_to_persistent_headers(json["sessionToken"])
|
41
54
|
end
|
42
55
|
|
43
56
|
def logout
|
@@ -52,6 +65,12 @@ module Betfair
|
|
52
65
|
end
|
53
66
|
end
|
54
67
|
|
68
|
+
def add_session_token_to_persistent_headers(session_token)
|
69
|
+
persistent_headers.merge!({
|
70
|
+
"X-Authentication" => session_token
|
71
|
+
})
|
72
|
+
end
|
73
|
+
|
55
74
|
def parse_response(response)
|
56
75
|
JSON.parse(response).tap { |r| handle_errors(r) }
|
57
76
|
end
|
data/lib/betfair/client.rb
CHANGED
@@ -40,8 +40,14 @@ module Betfair
|
|
40
40
|
|
41
41
|
def configure_request(opts = {})
|
42
42
|
opts[:headers] = persistent_headers.merge(opts[:headers] || {})
|
43
|
+
request = HTTPI::Request.new(opts)
|
43
44
|
|
44
|
-
HTTPI::Request
|
45
|
+
# It would be nice to have HTTPI do this itself but HTTPI::Request#mass_assign doesn't merge auth fields
|
46
|
+
unless opts[:cert_file_path].nil? or opts[:cert_key_file_path].nil?
|
47
|
+
request.auth.ssl.cert_key_file = opts[:cert_key_file_path]
|
48
|
+
request.auth.ssl.cert_file = opts[:cert_file_path]
|
49
|
+
end
|
50
|
+
request
|
45
51
|
end
|
46
52
|
|
47
53
|
def extend_api(type)
|
data/lib/betfair/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: betfair-ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Campbell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04
|
11
|
+
date: 2015-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|