sportradar-api 0.1.1 → 0.1.2
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.
- 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
|