sportradar-api 0.1.26 → 0.1.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sportradar/api/nfl/game.rb +4 -3
- data/lib/sportradar/api/nfl/season.rb +22 -1
- data/lib/sportradar/api/nfl/team.rb +14 -2
- data/lib/sportradar/api/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 780721e94bb01f11aeec1d1403e40089f95e992a
|
4
|
+
data.tar.gz: 3b9c68f4b8573f70ba7147a96c9d87122d154206
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7085b9b72a97c9aa466213d760ee79bf5790517d346e629a1f0868d6357f1d561a36e3c71b9e6007f1b30faff797d2a73c1f40b246b62c0db89b0f63448955ea
|
7
|
+
data.tar.gz: fc17aa495f9e2d8573b4af50358f7b277ea3d3651ae9330e6e3cf99a373092db2cb3470930e290ccf9635eaa18cca3ca3dd71c564fdbe24198aaa09e17f258ba
|
@@ -26,9 +26,10 @@ module Sportradar
|
|
26
26
|
@scoring = Sportradar::Api::Nfl::Scoring.new data["scoring"] if data["scoring"]
|
27
27
|
set_scoring_drives
|
28
28
|
|
29
|
-
|
30
|
-
@
|
31
|
-
@
|
29
|
+
location = data["summary"] || data
|
30
|
+
@venue = Sportradar::Api::Nfl::Venue.new location["venue"] if location["venue"]
|
31
|
+
@home = Sportradar::Api::Nfl::Team.new location["home"] if location["home"]
|
32
|
+
@away = Sportradar::Api::Nfl::Team.new location["away"] if location["away"]
|
32
33
|
@broadcast = Sportradar::Api::Nfl::Broadcast.new data["broadcast"] if data["broadcast"]
|
33
34
|
end
|
34
35
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Sportradar
|
2
2
|
module Api
|
3
3
|
class Nfl::Season < Data
|
4
|
-
attr_accessor :response, :id, :year, :type, :name, :weeks, :injuries, :team, :conferences
|
4
|
+
attr_accessor :response, :id, :year, :type, :name, :weeks, :injuries, :team, :conferences, :divisions, :teams
|
5
5
|
|
6
6
|
def initialize(data)
|
7
7
|
@response = data
|
@@ -13,6 +13,8 @@ module Sportradar
|
|
13
13
|
@injuries = data["injuries"]["team"].map {|team| Sportradar::Api::Nfl::Team.new team } if data["injuries"] && data["injuries"]["team"]
|
14
14
|
set_weeks
|
15
15
|
set_conferences
|
16
|
+
set_divisions
|
17
|
+
set_teams
|
16
18
|
end
|
17
19
|
|
18
20
|
private
|
@@ -27,6 +29,9 @@ module Sportradar
|
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
32
|
+
# set_(conferences|divisions|teams) are all identical to the same methods in Hierarchy
|
33
|
+
# There is likely more overlap between Sportradar's NFL standings and NFL hierarchy APIs
|
34
|
+
# Eventually, these should be shared between classes
|
30
35
|
def set_conferences
|
31
36
|
if response["conference"]
|
32
37
|
if response["conference"].is_a?(Array)
|
@@ -37,6 +42,22 @@ module Sportradar
|
|
37
42
|
end
|
38
43
|
end
|
39
44
|
|
45
|
+
def set_divisions
|
46
|
+
if conferences&.all? { |conference| conference.divisions }
|
47
|
+
@divisions = conferences.flat_map(&:divisions)
|
48
|
+
elsif response["division"]
|
49
|
+
if response["division"].is_a?(Array)
|
50
|
+
@divisions = response["division"].map {|division| Sportradar::Api::Nfl::Division.new division }
|
51
|
+
elsif response["division"].is_a?(Hash)
|
52
|
+
@divisions = [ Sportradar::Api::Nfl::Division.new(response["division"]) ]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def set_teams
|
58
|
+
@teams = @divisions.flat_map(&:teams) if divisions&.all? {|division| division.teams }
|
59
|
+
end
|
60
|
+
|
40
61
|
end
|
41
62
|
end
|
42
63
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
module Sportradar
|
2
2
|
module Api
|
3
3
|
class Nfl::Team < Data
|
4
|
-
attr_accessor :response, :id, :name, :alias, :game_number, :defense, :special_teams, :offense, :players, :statistics, :team_records, :player_records, :market, :franchise, :venue, :hierarchy, :coaches, :players, :used_timeouts, :remaining_timeouts, :points
|
5
|
-
|
4
|
+
attr_accessor :response, :id, :name, :alias, :game_number, :defense, :special_teams, :offense, :players, :statistics, :team_records, :player_records, :market, :franchise, :venue, :hierarchy, :coaches, :players, :used_timeouts, :remaining_timeouts, :points, :wins, :losses, :ties, :win_pct, :rank
|
6
5
|
|
7
6
|
def initialize(data)
|
8
7
|
@response = data
|
@@ -21,6 +20,13 @@ module Sportradar
|
|
21
20
|
@venue = Sportradar::Api::Nfl::Venue.new data["venue"] if data["venue"]
|
22
21
|
@hierarchy = Sportradar::Api::Nfl::Hierarchy.new data["hierarchy"] if data["hierarchy"]
|
23
22
|
|
23
|
+
@wins = data["wins"]
|
24
|
+
@losses = data["losses"]
|
25
|
+
@losses = data["losses"]
|
26
|
+
@ties = data["ties"]
|
27
|
+
@win_pct = data["win_pct"].to_f if data["win_pct"]
|
28
|
+
@rank = data["rank"]
|
29
|
+
|
24
30
|
@defense = data["defense"]["position"].map {|position| Sportradar::Api::Nfl::Position.new position } if data["defense"] && data["defense"]["position"]
|
25
31
|
@offense = data["offense"]["position"].map {|position| Sportradar::Api::Nfl::Position.new position } if data["offense"] && data["offense"]["position"]
|
26
32
|
@special_teams = data["special_teams"]["position"].map {|position| Sportradar::Api::Nfl::Position.new position } if data["special_teams"] && data["special_teams"]["position"]
|
@@ -36,6 +42,12 @@ module Sportradar
|
|
36
42
|
[market, name].join(' ')
|
37
43
|
end
|
38
44
|
|
45
|
+
def record
|
46
|
+
if wins && losses && ties
|
47
|
+
"#{wins}-#{losses}" << (ties == '0' ? '' : "-#{ties}")
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
39
51
|
private
|
40
52
|
|
41
53
|
def set_players
|
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.
|
4
|
+
version: 0.1.27
|
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-08-
|
11
|
+
date: 2016-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -307,3 +307,4 @@ signing_key:
|
|
307
307
|
specification_version: 4
|
308
308
|
summary: Sportradar API client
|
309
309
|
test_files: []
|
310
|
+
has_rdoc:
|