sportradar-api 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +8 -6
- data/lib/sportradar/api.rb +2 -0
- data/lib/sportradar/api/content.rb +59 -0
- data/lib/sportradar/api/error.rb +2 -2
- data/lib/sportradar/api/live_images.rb +2 -2
- data/lib/sportradar/api/odds.rb +34 -0
- data/lib/sportradar/api/request.rb +5 -4
- data/lib/sportradar/api/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b952170bc28d90d48ee9611e2d86a62103a7b350
|
4
|
+
data.tar.gz: af4218b212b2509b653258af7c4eacc710de1ae8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b20f90e30720b5fa218371caa8dbe04fa6c42fd170f963e344ce1880dc4907d8a64feeceb03647ab023b5e8e94aecd02cffc5b3ba0c17fab45cab290704835b
|
7
|
+
data.tar.gz: df36f348a553ffa514936483193ae945073a9d4065b62836f1d7112497a16532603b3c243eecebb16604f24b8d6268f2fbfc0ceecb66807230906d58e2fada9d
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -17,9 +17,11 @@ Our goal is to incrementally integrate with them. **Contributions are welcome**
|
|
17
17
|
|
18
18
|
[Current API Versions](http://developer.sportradar.us/api_gallery)
|
19
19
|
|
20
|
+
🙋 = Basic Api wrapped
|
21
|
+
|
20
22
|
| API | Version | Docs | Implemented? | Priority |
|
21
23
|
| --- | --- | --- | --- | --- |
|
22
|
-
| NFL | 1 | [📚](http://developer.sportradar.us/page/NFL_Official) |
|
24
|
+
| NFL | 1 | [📚](http://developer.sportradar.us/page/NFL_Official) | 🙋 | 👍 |
|
23
25
|
| MLB | 5 | [📚](http://developer.sportradar.us/docs/MLB_API) | - | - |
|
24
26
|
| NHL | 3 | [📚](http://developer.sportradar.us/docs/NHL_API) | - | - |
|
25
27
|
| NBA | 3 | [📚](http://developer.sportradar.us/docs/NBA_API) | - | - |
|
@@ -27,12 +29,12 @@ Our goal is to incrementally integrate with them. **Contributions are welcome**
|
|
27
29
|
| NCAAFB | 1 | [📚](http://developer.sportradar.us/docs/NCAA_Football_API) | - | - |
|
28
30
|
| Golf | 2 | [📚](http://developer.sportradar.us/docs/Golf_API) | - | - |
|
29
31
|
| NASCAR | 3 | [📚](http://developer.sportradar.us/page/NASCAR_Official) | - | - |
|
30
|
-
| Odds | 1 | [📚](http://developer.sportradar.us/docs/Odds_API) |
|
31
|
-
| Content | 3 | [📚](http://developer.sportradar.us/docs/Content_API) |
|
32
|
-
| Images | 2 | [📚](http://developer.sportradar.us/docs/Images_API) |
|
33
|
-
| Live Images | 1 | [📚](http://developer.sportradar.us/docs/Live_Images_API) |
|
32
|
+
| Odds | 1 | [📚](http://developer.sportradar.us/docs/Odds_API) | 🙋 | 👍 |
|
33
|
+
| Content | 3 | [📚](http://developer.sportradar.us/docs/Content_API) | 🙋 | 👍 |
|
34
|
+
| Images | 2 | [📚](http://developer.sportradar.us/docs/Images_API) | 🙋 | 👍 |
|
35
|
+
| Live Images | 1 | [📚](http://developer.sportradar.us/docs/Live_Images_API) | 🙋 | 👍 |
|
34
36
|
| Olympics | 2 | [📚](http://developer.sportradar.us/docs/Olympics_API_v2) | - | - |
|
35
|
-
| Soccer | 2 | [📚](http://developer.sportradar.us/docs/Soccer_API) |
|
37
|
+
| Soccer | 2 | [📚](http://developer.sportradar.us/docs/Soccer_API) | 🙋️ | 👍 |
|
36
38
|
| NCAAWB | 3 | [📚](http://developer.sportradar.us/docs/read/NCAA_Womens_Basketball) | - | - |
|
37
39
|
| MMA | 1 | [📚](http://developer.sportradar.us/docs/MMA_API) | - | - |
|
38
40
|
| Cricket | 1 | [📚](http://developer.sportradar.us/docs/cricket_API) | - | - |
|
data/lib/sportradar/api.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Content < Request
|
4
|
+
attr_accessor :sport, :access_level
|
5
|
+
|
6
|
+
def initialize( sport, access_level = 't')
|
7
|
+
raise Sportradar::Api::Error::InvalidSport unless allowed_sports.include? sport
|
8
|
+
@sport = sport
|
9
|
+
raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
|
10
|
+
@access_level = access_level
|
11
|
+
end
|
12
|
+
|
13
|
+
def news( date = Date.today, content_type = 'all' )
|
14
|
+
raise Sportradar::Api::Error::InvalidType unless allowed_news_types.include? content_type
|
15
|
+
get request_url("#{provider }/news/#{date_path(date)}/#{content_type}")
|
16
|
+
end
|
17
|
+
|
18
|
+
def analysis( date = Date.today, content_type = 'all' )
|
19
|
+
raise Sportradar::Api::Error::InvalidType unless allowed_analysis_types.include? content_type
|
20
|
+
get request_url("#{provider }/analysis/#{date_path(date)}/#{content_type}")
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def request_url(path)
|
26
|
+
"/content-#{sport}-#{access_level}#{version}/#{path}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def api_key
|
30
|
+
Sportradar::Api.api_key_params("content_#{sport}")
|
31
|
+
end
|
32
|
+
|
33
|
+
def provider
|
34
|
+
'tsx'
|
35
|
+
end
|
36
|
+
|
37
|
+
def version
|
38
|
+
Sportradar::Api.version('content')
|
39
|
+
end
|
40
|
+
|
41
|
+
def allowed_access_levels
|
42
|
+
['p', 't']
|
43
|
+
end
|
44
|
+
|
45
|
+
def allowed_sports
|
46
|
+
['nfl', 'ncaafb', 'nhl', 'nba', 'ncaamb', 'mlb', 'golf', 'nascar', 'f1', 'auto-racing']
|
47
|
+
end
|
48
|
+
|
49
|
+
def allowed_news_types
|
50
|
+
['all', 'injuries', 'transactions']
|
51
|
+
end
|
52
|
+
|
53
|
+
def allowed_analysis_types
|
54
|
+
['all', 'preview', 'recap', 'team_report']
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/sportradar/api/error.rb
CHANGED
@@ -4,11 +4,11 @@ module Sportradar
|
|
4
4
|
class AuthenticationError < StandardError; end
|
5
5
|
class NoApiKey < AuthenticationError; end
|
6
6
|
class InvalidResponseFormat < TypeError; end
|
7
|
+
class InvalidAccessLevel < StandardError; end
|
7
8
|
class InvalidLeague < StandardError; end
|
8
9
|
class InvalidSeason < StandardError; end
|
9
10
|
class InvalidSport < StandardError; end
|
10
|
-
class
|
11
|
-
class InvalidSeason < StandardError; end
|
11
|
+
class InvalidType < StandardError; end
|
12
12
|
class Timeout < Timeout::Error ; end
|
13
13
|
class NoData < EOFError; end
|
14
14
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Sportradar
|
2
2
|
module Api
|
3
3
|
class LiveImages < Request
|
4
|
-
attr_accessor :sport, :
|
4
|
+
attr_accessor :sport, :access_level
|
5
5
|
|
6
|
-
def initialize( sport,
|
6
|
+
def initialize( sport, access_level = 't')
|
7
7
|
raise Sportradar::Api::Error::InvalidSport unless allowed_sports.include? sport
|
8
8
|
@sport = sport
|
9
9
|
raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Odds < Request
|
4
|
+
attr_accessor :access_level
|
5
|
+
|
6
|
+
def initialize( access_level = 't')
|
7
|
+
raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
|
8
|
+
@access_level = access_level
|
9
|
+
end
|
10
|
+
|
11
|
+
def odds
|
12
|
+
get request_url, {format: 'none'}
|
13
|
+
end
|
14
|
+
private
|
15
|
+
|
16
|
+
def request_url(path = nil)
|
17
|
+
"/odds-#{access_level}#{version}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def api_key
|
21
|
+
Sportradar::Api.api_key_params("odds")
|
22
|
+
end
|
23
|
+
|
24
|
+
def version
|
25
|
+
Sportradar::Api.version('odds')
|
26
|
+
end
|
27
|
+
|
28
|
+
def allowed_access_levels
|
29
|
+
['p', 's', 'b', 't']
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -7,8 +7,9 @@ module Sportradar
|
|
7
7
|
attr_reader :url, :headers, :timeout, :api_key
|
8
8
|
|
9
9
|
def base_setup(path, options={})
|
10
|
-
@url = set_base(path)
|
11
|
-
@
|
10
|
+
@url = set_base(path)
|
11
|
+
@url += format unless options[:format] == 'none'
|
12
|
+
@headers = set_headers unless options[:format] == 'none'
|
12
13
|
@api_key = options[:api_key]
|
13
14
|
@timeout = options.delete(:api_timeout) || Sportradar::Api.config.api_timeout
|
14
15
|
end
|
@@ -31,7 +32,7 @@ module Sportradar
|
|
31
32
|
url += path
|
32
33
|
end
|
33
34
|
|
34
|
-
def date_path(date
|
35
|
+
def date_path(date)
|
35
36
|
"#{date.year}/#{date.month}/#{date.day}"
|
36
37
|
end
|
37
38
|
|
@@ -41,7 +42,7 @@ module Sportradar
|
|
41
42
|
|
42
43
|
|
43
44
|
def format
|
44
|
-
".#{Sportradar::Api.config.format}"
|
45
|
+
".#{Sportradar::Api.config.format}" if Sportradar::Api.config.format
|
45
46
|
end
|
46
47
|
|
47
48
|
def set_headers
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportradar-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Eggett
|
@@ -212,10 +212,12 @@ files:
|
|
212
212
|
- bin/setup
|
213
213
|
- lib/sportradar/api.rb
|
214
214
|
- lib/sportradar/api/config.rb
|
215
|
+
- lib/sportradar/api/content.rb
|
215
216
|
- lib/sportradar/api/error.rb
|
216
217
|
- lib/sportradar/api/images.rb
|
217
218
|
- lib/sportradar/api/live_images.rb
|
218
219
|
- lib/sportradar/api/nfl.rb
|
220
|
+
- lib/sportradar/api/odds.rb
|
219
221
|
- lib/sportradar/api/request.rb
|
220
222
|
- lib/sportradar/api/soccer.rb
|
221
223
|
- lib/sportradar/api/version.rb
|