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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d345b49b575483e102bdd67848aa7ed27303b171
4
- data.tar.gz: d3f77c8f2ffa19e0c79250d5c8a95b4d15d8f6b1
3
+ metadata.gz: b952170bc28d90d48ee9611e2d86a62103a7b350
4
+ data.tar.gz: af4218b212b2509b653258af7c4eacc710de1ae8
5
5
  SHA512:
6
- metadata.gz: cbc84253254da9add4d9af9b6df1b43f7c33057d06fc2a4ead5efee3f46c33b318c14c9eaac91de4917b3cba2fe31c3dce2c1f3479249159b1e0a996ca9d41e5
7
- data.tar.gz: 0defe4bef73aa06f60a5de722f91b604be5d7e375c0e690407e1348ccff01a41eb5db847b8ec0ede725def6b3cf4bc5f489084d8783ebbe31b368c48444dfe20
6
+ metadata.gz: 7b20f90e30720b5fa218371caa8dbe04fa6c42fd170f963e344ce1880dc4907d8a64feeceb03647ab023b5e8e94aecd02cffc5b3ba0c17fab45cab290704835b
7
+ data.tar.gz: df36f348a553ffa514936483193ae945073a9d4065b62836f1d7112497a16532603b3c243eecebb16604f24b8d6268f2fbfc0ceecb66807230906d58e2fada9d
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.1.1)
4
+ sportradar-api (0.1.2)
5
5
  httparty (>= 0.13.3)
6
6
 
7
7
  GEM
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) | - | - |
@@ -12,6 +12,8 @@ require "sportradar/api/soccer"
12
12
  require "sportradar/api/nfl"
13
13
  require "sportradar/api/images"
14
14
  require "sportradar/api/live_images"
15
+ require "sportradar/api/content"
16
+ require "sportradar/api/odds"
15
17
 
16
18
  module Sportradar
17
19
  module Api
@@ -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
@@ -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 InvalidAccessLevel < StandardError; end
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, :league, :access_level
4
+ attr_accessor :sport, :access_level
5
5
 
6
- def initialize( sport, league = nil, access_level = 't')
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) + format
11
- @headers = set_headers
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 = Date.today)
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
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
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.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