sportradar-api 0.1.36 → 0.1.37

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: ca09d1345e62f293f9d60bdd94130b228d75eb74
4
- data.tar.gz: e956f6aabd92db91b1d76fc416d98e08b4c99e9b
3
+ metadata.gz: 759e8c44c9309c7238688addf63e80f6f97e2f4a
4
+ data.tar.gz: 5cee734b0e2d839fc201902a798863b659f3513c
5
5
  SHA512:
6
- metadata.gz: 20da3ed3414475195779ffe7833181c2a98a7cd3d363bdec0174f861fc99c146438067431d80669fb0c038e98d7577d556f2ed8e13cd2115391d9bb3def76e86
7
- data.tar.gz: 6b233f24099da61879525aaa37e5f2b8223e4b5650ac3c9a2faf1748c56190a4df74a8a908923f02e6e1c8d09188fbb1a432984762c1d54a8c5212e403f35e3e
6
+ metadata.gz: e035b1d2a943155e9a30c64feddce9351be40a6e1f3455fa881d68145e825891b21183ae8c05529e68a5f8330f14fc753e99c41dd1b959a0699a2d0d87c78fbb
7
+ data.tar.gz: 76c05588c387dbc7f471b19868f6f1975146b1d7b4b11e485f4827d169cb2a11d1c5b679758ce3860fff1a2d46e32f8b4b8bf0a221a013ba2153ee45a608c46c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.1.33)
4
+ sportradar-api (0.1.37)
5
5
  activesupport
6
6
  httparty (>= 0.14.0)
7
7
 
data/README.md CHANGED
@@ -22,7 +22,7 @@ Our goal is to incrementally integrate with them. **Contributions are welcome**
22
22
 
23
23
  | API | Version | Docs | Implemented? | Priority |
24
24
  | --- | --- | --- | --- | --- |
25
- | NFL | 1 | [📚](http://developer.sportradar.us/page/NFL_Official) | 🙋 | 👍 |
25
+ | NFL | 1 | [📚](http://developer.sportradar.us/page/NFL_Official) | | 👍 |
26
26
  | MLB | 5 | [📚](http://developer.sportradar.us/docs/MLB_API) | - | - |
27
27
  | NHL | 3 | [📚](http://developer.sportradar.us/docs/NHL_API) | - | - |
28
28
  | NBA | 3 | [📚](http://developer.sportradar.us/docs/NBA_API) | - | - |
@@ -45,7 +45,7 @@ Our goal is to incrementally integrate with them. **Contributions are welcome**
45
45
  | Rugby | 1 | [📚](http://developer.sportradar.us/docs/Rugby_API) | - | - |
46
46
  | Tennis | 1 | [📚](http://developer.sportradar.us/docs/Tennis_API) | - | - |
47
47
  | ESPORTS | 1 | [📚](http://developer.sportradar.us/docs/ESPORTS_API) | - | - |
48
- | Simulation APIs | 1 | [📚](http://developer.sportradar.us/page/Live_Game_Simulation) | 🙋 | 👍|
48
+ | Simulation APIs | 1 | [📚](http://developer.sportradar.us/page/Live_Game_Simulation) | | 👍|
49
49
 
50
50
  ## Installation
51
51
 
@@ -90,7 +90,7 @@ It's possible to find the current simulation game:
90
90
 
91
91
  ```
92
92
  Sportradar::Api::Nfl.new('o').active_simulation
93
- =>
93
+ =>
94
94
  https://api.sportradar.us/nfl-sim1/games/f45b4a31-b009-4039-8394-42efbc6d5532/boxscore.xml
95
95
  Live Game: Green Bay Packers vs Minnesota Vikings. Q2 00:08. game_id='f45b4a31-b009-4039-8394-42efbc6d5532'
96
96
  ```
@@ -69,7 +69,11 @@ require "sportradar/api/images/tag"
69
69
 
70
70
 
71
71
 
72
+
72
73
  require "sportradar/api/content"
74
+ require "sportradar/api/content/article_list"
75
+ require "sportradar/api/content/article"
76
+ require "sportradar/api/content/reference"
73
77
  require "sportradar/api/odds"
74
78
 
75
79
  module Sportradar
@@ -12,12 +12,14 @@ module Sportradar
12
12
 
13
13
  def news( date = Date.today, content_type = 'all' )
14
14
  raise Sportradar::Api::Error::InvalidType unless allowed_news_types.include? content_type
15
- get request_url("#{provider }/news/#{date_path(date)}/#{content_type}")
15
+ response = get request_url("#{provider }/news/#{date_path(date)}/#{content_type}")
16
+ Sportradar::Api::Content::ArticleList.new response["content"] if response.success? && response["content"]
16
17
  end
17
18
 
18
19
  def analysis( date = Date.today, content_type = 'all' )
19
20
  raise Sportradar::Api::Error::InvalidType unless allowed_analysis_types.include? content_type
20
- get request_url("#{provider }/analysis/#{date_path(date)}/#{content_type}")
21
+ response = get request_url("#{provider }/analysis/#{date_path(date)}/#{content_type}")
22
+ Sportradar::Api::Content::ArticleList.new response["content"] if response.success? && response["content"]
21
23
  end
22
24
 
23
25
  private
@@ -0,0 +1,42 @@
1
+ module Sportradar
2
+ module Api
3
+ class Content::Article < Data
4
+ attr_accessor :response, :type, :created, :updated, :injury, :transaction, :title, :byline, :dateline, :credit, :content, :references, :provider
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @created = Time.parse(data["created"]) if data["created"]
9
+ @updated = Time.parse(data["updated"]) if data["updated"]
10
+ @type = data["type"]
11
+ @injury = data["injury"]
12
+ @transaction = data["transaction"]
13
+ @title = data["title"]
14
+ @byline = data["byline"]
15
+ @dateline = data["dateline"]
16
+ @credit = data["credit"]
17
+ @content = data["content"]["long"] if data["content"] && data["content"]["long"]
18
+ @provider = OpenStruct.new(data["provider"]) if data["provider"]
19
+ set_references
20
+ end
21
+
22
+ def transaction?
23
+ !!transaction
24
+ end
25
+
26
+ def injury?
27
+ !!injury
28
+ end
29
+ private
30
+ def set_references
31
+ if response["refs"] && response["refs"]["ref"]
32
+ if response["refs"]["ref"].is_a?(Array)
33
+ @references = response["refs"]["ref"].map {|x| Sportradar::Api::Content::Reference.new x }
34
+ elsif response["refs"]["ref"].is_a?(Hash)
35
+ @references = [ Sportradar::Api::Content::Reference.new(response["refs"]["ref"]) ]
36
+ end
37
+ end
38
+ end
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,28 @@
1
+ module Sportradar
2
+ module Api
3
+ class Content::ArticleList < Data
4
+ attr_accessor :response, :provider, :sport, :start_time, :end_time, :articles
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @sport = data["sport"]
9
+ @provider = data["provider"]
10
+ @start_time = Time.parse(data["start_time"]) if data["start_time"]
11
+ @end_time = Time.parse(data["end_time"]) if data["end_time"]
12
+ set_articles
13
+ end
14
+
15
+ private
16
+ def set_articles
17
+ if response["item"]
18
+ if response["item"].is_a?(Array)
19
+ @articles = response["item"].map {|x| Sportradar::Api::Content::Article.new x }
20
+ elsif response["item"].is_a?(Hash)
21
+ @articles = [ Sportradar::Api::Content::Article.new(response["item"]) ]
22
+ end
23
+ end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ module Sportradar
2
+ module Api
3
+ class Content::Reference < Data
4
+ attr_accessor :response, "sportradar_id", "sportsdata_id", "type", "name"
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @sportradar_id = data["sportradar_id"]
9
+ @sportsdata_id = data["sportsdata_id"]
10
+ @type = data["type"]
11
+ @name = data["name"]
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.1.36"
3
+ VERSION = "0.1.37"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportradar-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.36
4
+ version: 0.1.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Eggett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-11 00:00:00.000000000 Z
11
+ date: 2016-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -227,6 +227,9 @@ files:
227
227
  - lib/sportradar/api.rb
228
228
  - lib/sportradar/api/config.rb
229
229
  - lib/sportradar/api/content.rb
230
+ - lib/sportradar/api/content/article.rb
231
+ - lib/sportradar/api/content/article_list.rb
232
+ - lib/sportradar/api/content/reference.rb
230
233
  - lib/sportradar/api/data.rb
231
234
  - lib/sportradar/api/error.rb
232
235
  - lib/sportradar/api/football.rb
@@ -327,4 +330,3 @@ signing_key:
327
330
  specification_version: 4
328
331
  summary: Sportradar API client
329
332
  test_files: []
330
- has_rdoc: