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 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