sportradar-api 0.13.0 → 0.13.21

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -3
  3. data/lib/sportradar/api/baseball/game.rb +1 -1
  4. data/lib/sportradar/api/baseball/mlb/api.rb +1 -1
  5. data/lib/sportradar/api/basketball/game.rb +5 -4
  6. data/lib/sportradar/api/basketball/nba/game.rb +1 -1
  7. data/lib/sportradar/api/basketball/nba/quarter.rb +9 -2
  8. data/lib/sportradar/api/basketball/ncaamb/game.rb +5 -1
  9. data/lib/sportradar/api/basketball/ncaamb/half.rb +9 -0
  10. data/lib/sportradar/api/basketball/ncaamb.rb +2 -2
  11. data/lib/sportradar/api/basketball/play.rb +3 -1
  12. data/lib/sportradar/api/basketball/plays/base.rb +8 -1
  13. data/lib/sportradar/api/basketball/plays/jumpball_violation.rb +11 -0
  14. data/lib/sportradar/api/basketball/plays.rb +1 -0
  15. data/lib/sportradar/api/basketball/team.rb +1 -1
  16. data/lib/sportradar/api/football/ncaafb/game.rb +1 -1
  17. data/lib/sportradar/api/football/nfl/game.rb +1 -1
  18. data/lib/sportradar/api/images.rb +2 -4
  19. data/lib/sportradar/api/soccer/README.md +4 -0
  20. data/lib/sportradar/api/soccer/api.rb +1 -1
  21. data/lib/sportradar/api/soccer/event.rb +15 -14
  22. data/lib/sportradar/api/soccer/match.rb +161 -6
  23. data/lib/sportradar/api/soccer/player.rb +16 -4
  24. data/lib/sportradar/api/soccer/scoring.rb +71 -0
  25. data/lib/sportradar/api/soccer/team.rb +25 -12
  26. data/lib/sportradar/api/soccer/tournament.rb +26 -3
  27. data/lib/sportradar/api/soccer.rb +1 -0
  28. data/lib/sportradar/api/version.rb +1 -1
  29. metadata +5 -29
  30. data/lib/sportradar/api/soccer-old/boxscore.rb +0 -13
  31. data/lib/sportradar/api/soccer-old/category.rb +0 -17
  32. data/lib/sportradar/api/soccer-old/fact.rb +0 -61
  33. data/lib/sportradar/api/soccer-old/hierarchy.rb +0 -14
  34. data/lib/sportradar/api/soccer-old/match.rb +0 -55
  35. data/lib/sportradar/api/soccer-old/player.rb +0 -88
  36. data/lib/sportradar/api/soccer-old/ranking.rb +0 -13
  37. data/lib/sportradar/api/soccer-old/schedule.rb +0 -22
  38. data/lib/sportradar/api/soccer-old/season.rb +0 -14
  39. data/lib/sportradar/api/soccer-old/standing.rb +0 -13
  40. data/lib/sportradar/api/soccer-old/statistic.rb +0 -14
  41. data/lib/sportradar/api/soccer-old/summary.rb +0 -13
  42. data/lib/sportradar/api/soccer-old/team.rb +0 -63
  43. data/lib/sportradar/api/soccer-old/tournament.rb +0 -20
  44. data/lib/sportradar/api/soccer-old/tournament_group.rb +0 -35
  45. data/lib/sportradar/api/soccer-old/venue.rb +0 -21
  46. data/lib/sportradar/api/soccer-old.rb +0 -158
  47. data/soccer-old/boxscore_test.rb +0 -14
  48. data/soccer-old/hierarchy_test.rb +0 -14
  49. data/soccer-old/match_test.rb +0 -23
  50. data/soccer-old/player_test.rb +0 -40
  51. data/soccer-old/ranking_test.rb +0 -16
  52. data/soccer-old/schedule_test.rb +0 -24
  53. data/soccer-old/standing_test.rb +0 -14
  54. data/soccer-old/summary_test.rb +0 -14
  55. data/soccer-old/team_test.rb +0 -21
  56. data/soccer-old_test.rb +0 -184
@@ -1,13 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Standing < Data
4
- attr_accessor :response, :categories
5
-
6
- def initialize(data)
7
- @response = data
8
- @categories = parse_into_array(selector: response["categories"]["category"], klass: Sportradar::Api::Soccer::Category) if response["categories"] && response["categories"]["category"]
9
- end
10
-
11
- end
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Statistic < Data
4
- attr_accessor :response, :year, :statistics
5
-
6
- def initialize(data)
7
- @response = data
8
- @year = data["year"]
9
-
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,13 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Summary < Data
4
- attr_accessor :response, :matches
5
-
6
- def initialize(data)
7
- @response = data
8
- @matches = parse_into_array(selector: response["summary"]["matches"]["match"], klass: Sportradar::Api::Soccer::Match) if response['summary'] && response['summary']['matches'] && response["summary"]["matches"]["match"]
9
- end
10
-
11
- end
12
- end
13
- end
@@ -1,63 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Team < Data
4
- attr_accessor :response, :id, :name, :full_name, :alias, :country_code, :country, :type, :reference_id, :formation, :score, :regular_score, :penalty_score, :winner, :scoring, :statistics, :first_half_score, :second_half_score, :players, :manager, :roster, :jersey_number, :position, :is_player, :is_manager, :rank, :win, :draw, :loss, :goals_for, :goals_against, :points, :change, :goals_diff, :jersey_number, :position, :is_player, :is_manager, :home, :away
5
-
6
-
7
- def initialize(data)
8
- @response = data
9
- @id = data["id"]
10
- @reference_id = data["reference_id"]
11
- @name = data["name"]
12
- @full_name = data["full_name"] || data["name"]
13
- @alias = data["alias"]
14
- @country_code = data["country_code"]
15
- @country = data["country"]
16
- @type = data["type"]
17
- @formation = data["formation"]
18
- @score = data["score"]
19
- @regular_score = data["regular_score"]
20
- @penalty_score = data["penalty_score"]
21
- @winner = data["winner"]
22
- @rank = data["rank"]
23
- @win = data["win"]
24
- @draw = data["draw"]
25
- @loss = data["loss"]
26
- @goals_for = data["goals_for"]
27
- @goals_against = data["goals_against"]
28
- @points = data["points"]
29
- @change = data["change"]
30
- @goals_diff = data["goals_diff"]
31
- @jersey_number = data["jersey_number"]
32
- @position = data["position"]
33
- @is_player = data["is_player"]
34
- @is_manager = data["is_manager"]
35
-
36
- # Standings generate these
37
- @home = OpenStruct.new data["home"] if data["home"]
38
- @away = OpenStruct.new data["away"] if data["away"]
39
-
40
- @scoring = OpenStruct.new data["scoring"] if data["scoring"]
41
- parse_scoring if scoring
42
-
43
- @statistics = OpenStruct.new data["statistics"] if data["statistics"]
44
- @players = parse_into_array(selector: data["players"]["player"], klass: Sportradar::Api::Soccer::Player) if response['players'] && response['players']['player']
45
- @players = parse_into_array(selector: data["roster"]["player"], klass: Sportradar::Api::Soccer::Player) if response['roster'] && response['roster']['player']
46
- @manager = Sportradar::Api::Soccer::Player.new data["manager"] if data["manager"]
47
- end
48
-
49
- alias_method :roster, :players
50
-
51
- private
52
-
53
- def parse_scoring
54
- if scoring.half.is_a?(Array)
55
- @first_half_score = scoring.half.find {|x| x["number"] == "1"}["points"]
56
- @second_half_score = scoring.half.find {|x| x["number"] == "2"}["points"]
57
- elsif scoring.half.is_a?(Hash)
58
- @first_half_score = scoring.half["points"]
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,20 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Tournament < Data
4
- attr_accessor :response, :id, :name, :season_start, :season_end, :season, :type, :reference_id, :coverage, :teams
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @name = data["name"]
10
- @season_start = data["season_start"]
11
- @season_end = data["season_end"]
12
- @season = data["season"]
13
- @reference_id = data["reference_id"]
14
- @coverage = OpenStruct.new data["coverage"] if data["coverage"]
15
- @teams = parse_into_array(selector: response["team"], klass: Sportradar::Api::Soccer::Team) if response["team"]
16
- end
17
-
18
- end
19
- end
20
- end
@@ -1,35 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::TournamentGroup < Data
4
- attr_accessor :response, :id, :name, :season_start, :season_end, :season, :reference_id, :top_goals, :top_own_goals, :top_assists, :top_cards, :top_points, :tournaments
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @name = data["name"]
10
- @season_start = data["season_start"]
11
- @season_end = data["season_end"]
12
- @season = data["season"]
13
- @reference_id = data["reference_id"]
14
- @top_goals = parse_players(data["top_goals"]["player"]) if data["top_goals"] && data["top_goals"]["player"]
15
- @top_own_goals = parse_players(data["top_own_goals"]["player"]) if data["top_own_goals"] && data["top_own_goals"]["player"]
16
- @top_assists = parse_players(data["top_assists"]["player"]) if data["top_assists"] && data["top_assists"]["player"]
17
- @top_cards = parse_players(data["top_cards"]["player"]) if data["top_cards"] && data["top_cards"]["player"]
18
- @top_points = parse_players(data["top_points"]["player"]) if data["top_points"] && data["top_points"]["player"]
19
- @tournaments = parse_into_array(selector: response["tournament"], klass: Sportradar::Api::Soccer::Tournament) if response["tournament"]
20
- end
21
-
22
- private
23
-
24
- def parse_players(field_to_parse)
25
- if field_to_parse.is_a?(Array)
26
- field_to_parse.map {|player| Sportradar::Api::Soccer::Player.new player }
27
- elsif field_to_parse.is_a?(Hash)
28
- [ Sportradar::Api::Soccer::Player.new(field_to_parse) ]
29
- end
30
- end
31
-
32
-
33
- end
34
- end
35
- end
@@ -1,21 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer::Venue < Data
4
-
5
- attr_accessor :id, :name, :country_code, :country, :city, :capacity, :coordinates, :reference_id, :response
6
-
7
- def initialize(data)
8
- @response = data
9
- @id = data["id"]
10
- @name = data["name"]
11
- @country_code = data["country_code"]
12
- @country = data["country"]
13
- @city = data["city"]
14
- @capacity = data["capacity"]
15
- @coordinates = data["coordinates"]
16
- @reference_id = data["reference_id"]
17
- end
18
-
19
- end
20
- end
21
- end
@@ -1,158 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Soccer < Request
4
- attr_accessor :league, :access_level, :simulation
5
- def initialize(league = "na", access_level = "t")
6
- raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
7
- raise Sportradar::Api::Error::InvalidLeague unless allowed_leagues.include? league
8
- @league = league
9
- @access_level = access_level
10
- end
11
-
12
- def schedule
13
- response = get request_url("matches/schedule")
14
- if response.success?
15
- Sportradar::Api::Soccer::Schedule.new response
16
- else
17
- response
18
- end
19
- end
20
-
21
- # date = Date.parse('2016-07-17')
22
- def daily_schedule(date = Date.today)
23
- response = get request_url("matches/#{date_path(date)}/schedule")
24
- if response.success?
25
- Sportradar::Api::Soccer::Schedule.new response
26
- else
27
- response
28
- end
29
- end
30
-
31
-
32
- def daily_summary(date = Date.today)
33
- response = get request_url("matches/#{date_path(date)}/summary")
34
- if response.success?
35
- Sportradar::Api::Soccer::Summary.new response
36
- else
37
- response
38
- end
39
- end
40
-
41
- def daily_boxscore(date = Date.today)
42
- response = get request_url("matches/#{date_path(date)}/boxscore")
43
- if response.success?
44
- Sportradar::Api::Soccer::Boxscore.new response
45
- else
46
- response
47
- end
48
- end
49
-
50
- # match_id = "357607e9-87cd-4848-b53e-0485d9c1a3bc"
51
- def match_summary(match_id)
52
- check_simulation(match_id)
53
- response = get request_url("matches/#{match_id}/summary")
54
- if response.success?
55
- Sportradar::Api::Soccer::Summary.new response
56
- else
57
- response
58
- end
59
- end
60
-
61
- # match_id = "357607e9-87cd-4848-b53e-0485d9c1a3bc"
62
- def match_boxscore(match_id)
63
- check_simulation(match_id)
64
- response = get request_url("matches/#{match_id}/boxscore")
65
- if response.success?
66
- Sportradar::Api::Soccer::Boxscore.new response
67
- else
68
- response
69
- end
70
- end
71
-
72
- # team_id = "b78b9f61-0697-4347-a1b6-b7685a130eb1"
73
- def team_profile(team_id)
74
- response = get request_url("teams/#{team_id}/profile")
75
- if response.success? && response["profile"] && response["profile"]["team"]
76
- Sportradar::Api::Soccer::Team.new response["profile"]["team"]
77
- else
78
- response
79
- end
80
- end
81
-
82
- # player_id = "2aeacd39-3f9c-42af-957e-9df8573973c4"
83
- def player_profile(player_id)
84
- response = get request_url("players/#{player_id}/profile")
85
- if response.success? && response["profile"] && response["profile"]["player"]
86
- Sportradar::Api::Soccer::Player.new response["profile"]["player"]
87
- else
88
- response
89
- end
90
- end
91
-
92
- def player_rankings
93
- response = get request_url("players/leader")
94
- if response.success? && response["leaders"]
95
- Sportradar::Api::Soccer::Ranking.new response["leaders"]
96
- else
97
- response
98
- end
99
- end
100
-
101
- def team_hierarchy
102
- response = get request_url("teams/hierarchy")
103
- if response.success? && response["hierarchy"]
104
- Sportradar::Api::Soccer::Hierarchy.new response["hierarchy"]
105
- else
106
- response
107
- end
108
- end
109
-
110
- def team_standings
111
- response = get request_url("teams/standing")
112
- if response.success?
113
- Sportradar::Api::Soccer::Standing.new response["standings"]
114
- else
115
- response
116
- end
117
- end
118
-
119
- def simulation_match
120
- "22653ed5-0b2c-4e30-b10c-c6d51619b52b"
121
- end
122
-
123
- private
124
-
125
- def check_simulation(match_id)
126
- @simulation = true if match_id == simulation_match
127
- end
128
-
129
- def request_url(path)
130
- if simulation
131
- "/soccer-sim2/wc/#{path}"
132
- else
133
- "/soccer-#{access_level}#{version}/#{league}/#{path}"
134
- end
135
- end
136
-
137
- def api_key
138
- if access_level == 'p'
139
- Sportradar::Api.api_key_params("soccer_#{league}", "production")
140
- else
141
- Sportradar::Api.api_key_params("soccer_#{league}")
142
- end
143
- end
144
-
145
- def version
146
- Sportradar::Api.version("soccer")
147
- end
148
-
149
- def allowed_access_levels
150
- ["p", "t"]
151
- end
152
-
153
- def allowed_leagues
154
- ["eu", "na", "sa", "wc", "as", "af"]
155
- end
156
- end
157
- end
158
- end
@@ -1,14 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::BoxscoreTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"boxscore"=> {"matches"=> {"match"=> [{"id"=>"3f7eb973-daab-49e5-b91a-6ab7cc1301a1", "status"=>"closed", "period"=>"P2", "scheduled"=>"2016-09-30T00:00:00Z", "clock"=>"", "scratched"=>"false"} ] } } }
7
- end
8
-
9
- def test_it_initializes_a_soccer_boxscore
10
- data_object = Sportradar::Api::Soccer::Boxscore.new(@attrs)
11
- assert [:matches].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- end
@@ -1,14 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::HierarchyTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"category"=> [{"id"=>"c4ef0886-dfee-4725-81eb-1bb919be832a", "name"=>"International Clubs", "country_code"=>"XZ", "country"=>"International", "reference_id"=>"sr:category:393", "tournament_group"=> {"id"=>"dc3ea36c-1a29-41e3-b830-9dd2c685670a", "name"=>"CONCACAF CL", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016", "reference_id"=>"sr:tournamentgroup:498", "tournament"=> [{"id"=>"f1651216-f4f1-4e61-bd58-92a80df54df3", "name"=>"CONCACAF Champions League, Group 6", "season_id"=>"42881571-769d-4877-9f85-71868dc510d1", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016", "type"=>"group", "type_group_id"=>"6", "reference_id"=>"sr:tournament:21399"}] } }] }
7
- end
8
-
9
- def test_it_initializes_a_soccer_hierarchy
10
- data_object = Sportradar::Api::Soccer::Hierarchy.new(@attrs)
11
- assert [:categories].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- end
@@ -1,23 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::MatchTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"id"=>"3f7eb973-daab-49e5-b91a-6ab7cc1301a1", "status"=>"closed", "period"=>"P2", "scheduled"=>"2016-09-30T00:00:00Z", "clock"=>"", "scratched"=>"false"}
7
- @data_object = Sportradar::Api::Soccer::Match.new(@attrs)
8
- end
9
-
10
- def test_it_initializes_a_soccer_match
11
-
12
- assert [:status, :period].all? { |e| @data_object.attributes.include?(e) }
13
- end
14
-
15
- def test_match_has_a_period_name
16
- assert_equal "Period two", @data_object.period_name
17
- end
18
-
19
- def test_match_has_a_status_description
20
- assert_equal "The match is over", @data_object.status_description
21
- end
22
-
23
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::PlayerTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"id"=>"2aeacd39-3f9c-42af-957e-9df8573973c4", "first_name"=>"Kyle", "last_name"=>"Beckerman", "country_code"=>"USA", "country"=>"United States", "preferred_foot"=>"R", "birthdate"=>"1982-04-23", "height_in"=>"70", "weight_lb"=>"154", "height_cm"=>"177", "weight_kg"=>"69", "tactical_position" => "6", "full_first_name"=>"Kyle Robert", "full_last_name"=>"Beckerman", "teams"=> {"team"=> [{"id"=>"b78b9f61-0697-4347-a1b6-b7685a130eb1", "name"=>"Salt Lake", "full_name"=>"Real Salt Lake", "country_code"=>"USA", "country"=>"United States", "jersey_number"=>"5", "position"=>"M", "is_player"=>"true", "is_manager"=>"false"}, {"id"=>"79a99f09-13ca-45c4-b3f0-2a61f94e0651", "name"=>"USA", "full_name"=>"USA", "country_code"=>"USA", "country"=>"United States", "jersey_number"=>"15", "position"=>"M", "is_player"=>"true", "is_manager"=>"false"}]}, "statistics"=>{"season"=>[{"year"=>"2007", "statistic"=>{"goals"=>"0", "goal_frequency"=>"0", "goal_average"=>"0.0"}}]}}
7
- @data_object = Sportradar::Api::Soccer::Player.new(@attrs)
8
- end
9
-
10
- def test_it_initializes_a_soccer_player
11
-
12
- assert [:last_name, :first_name, :country, :country_code, :birthdate, :teams, :statistics].all? { |e| @data_object.attributes.include?(e) }
13
- end
14
-
15
- def test_soccer_player_has_name
16
- assert_equal [@data_object.first_name, @data_object.last_name].join(' '), @data_object.name
17
- end
18
-
19
- def test_soccer_player_has_full_name
20
- assert_equal [@data_object.full_first_name, @data_object.full_last_name].join(' '), @data_object.full_name
21
- end
22
-
23
- def test_soccer_player_has_position_name
24
- assert_equal "Midfielder", @data_object.position_name
25
- end
26
-
27
- def test_soccer_player_has_tactical_position_name
28
- assert_equal "Central Midfielder", @data_object.tactical_position_name
29
- end
30
-
31
- def test_soccer_player_has_age
32
- assert_equal 35, @data_object.age
33
- end
34
-
35
- def test_soccer_player_has_height_in_feet
36
- assert_equal "5' 10\"", @data_object.height_ft
37
- end
38
-
39
-
40
- end
@@ -1,16 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::RankingTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"category"=> [{"id"=>"c4ef0886-dfee-4725-81eb-1bb919be832a", "name"=>"International Clubs", "country_code"=>"XZ", "country"=>"International", "reference_id"=>"sr:category:393", "tournament_group"=> {"id"=>"dc3ea36c-1a29-41e3-b830-9dd2c685670a", "name"=>"CONCACAF CL", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016", "reference_id"=>"sr:tournamentgroup:498", "tournament"=> [{"id"=>"f1651216-f4f1-4e61-bd58-92a80df54df3", "name"=>"CONCACAF Champions League, Group 6", "season_id"=>"42881571-769d-4877-9f85-71868dc510d1", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016", "type"=>"group", "type_group_id"=>"6", "reference_id"=>"sr:tournament:21399"}] } }] }
7
- end
8
-
9
- def test_it_initializes_a_soccer_ranking
10
- data_object = Sportradar::Api::Soccer::Ranking.new(@attrs)
11
- assert [:categories].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
-
15
-
16
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::ScheduleTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"schedule"=> {"matches"=> {"match"=> [{"id"=>"3f7eb973-daab-49e5-b91a-6ab7cc1301a1", "status"=>"closed", "scheduled"=>"2016-09-30T00:00:00Z", "scratched"=>"false", "season_id"=>"42881571-769d-4877-9f85-71868dc510d1", "category"=> {"id"=>"c4ef0886-dfee-4725-81eb-1bb919be832a", "name"=>"International Clubs", "country_code"=>"XZ", "country"=>"International", }, "tournament_group"=> {"id"=>"dc3ea36c-1a29-41e3-b830-9dd2c685670a", "name"=>"CONCACAF CL", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016"}, "tournament"=> {"id"=>"c6b22c43-0e13-412a-9f0d-66ca1e3f9d51", "name"=>"CONCACAF Champions League, Group 5", "season_id"=>"42881571-769d-4877-9f85-71868dc510d1", "season_start"=>"2016-08-01T22:00:00Z", "season_end"=>"2017-04-27T21:59:00Z", "season"=>"2016", "type"=>"group", "type_group_id"=>"5", }, "home"=> {"id"=>"57ebb898-c0f3-473c-b8b6-47ed3473ad05", "name"=>"Police Utd", "full_name"=>"Police United", "alias"=>"POU", "country_code"=>"UNK", "country"=>"Unknown", "type"=>"team"}, "away"=> {"id"=>"d4fe17a0-745b-4abb-be38-20814a235258", "name"=>"Olimpia", "full_name"=>"CD Olimpia", "alias"=>"OLI", "country_code"=>"HND", "country"=>"Honduras", "type"=>"team"} } ] } } }
7
- end
8
-
9
- def test_it_initializes_a_soccer_schedule
10
- data_object = Sportradar::Api::Soccer::Schedule.new(@attrs)
11
- assert [:matches].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- def test_it_finds_a_league_by_name
15
- data_object = Sportradar::Api::Soccer::Schedule.new(@attrs)
16
- assert_equal data_object.league("CONCACAF CL").first.tournament_group.name, "CONCACAF CL"
17
- end
18
-
19
- def test_it_finds_available_leagues
20
- data_object = Sportradar::Api::Soccer::Schedule.new(@attrs)
21
- assert_includes data_object.available_leagues, "CONCACAF CL"
22
- end
23
-
24
- end
@@ -1,14 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::StandingTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = { "categories"=> {"category"=> [{"id"=>"ab5bfdbe-ed48-45e8-a6b9-eda3a8aaad3b", "name"=>"Mexico", "country_code"=>"MEX", "country"=>"Mexico", "tournament_group"=> {"id"=>"3baac5eb-2bd1-4561-ab76-b96d267dfe2a", "name"=>"Primera Division", "season_start"=>"2016-07-15T22:00:00Z", "season_end"=>"2017-06-24T21:59:00Z", "season"=>"2016", "reference_id"=>"sr:tournamentgroup:352", "tournament"=> [{"id"=>"3022ecee-5b9c-4e48-b6f8-7b0338e88b0f", "name"=>"Primera Division, Apertura", "season_id"=>"72a31835-d37e-470f-8370-b6b5e278fe60", "season_start"=>"2016-07-15T22:00:00Z", "season_end"=>"2017-06-24T21:59:00Z", "season"=>"2016", "type"=>"group", "reference_id"=>"sr:tournament:28", "team"=> [{"id"=>"50c96149-b75d-4961-83bf-516900533fb1", "name"=>"Tijuana", "full_name"=>"Club Tijuana", "alias"=>"TIJ", "country_code"=>"MEX", "country"=>"Mexico", "type"=>"team", "reference_id"=>"sr:team:36525", "rank"=>"1", "win"=>"7", "draw"=>"3", "loss"=>"1", "goals_for"=>"20", "goals_against"=>"9", "points"=>"24", "change"=>"1", "goals_diff"=>"11", "home"=> {"rank"=>"1", "change"=>"0", "win"=>"5", "draw"=>"0", "loss"=>"0", "goals_for"=>"11", "goals_against"=>"1", "points"=>"15"}, "away"=> {"rank"=>"2", "change"=>"5", "win"=>"2", "draw"=>"3", "loss"=>"1", "goals_for"=>"9", "goals_against"=>"8", "points"=>"9"}}] } ] } } ] } }
7
- end
8
-
9
- def test_it_initializes_a_soccer_standing
10
- data_object = Sportradar::Api::Soccer::Standing.new(@attrs)
11
- assert [:categories].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- end
@@ -1,14 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::SummaryTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"summary"=> {"matches"=> {"match"=> {"id"=>"357607e9-87cd-4848-b53e-0485d9c1a3bc", "status"=>"closed", "period"=>"P2", "scheduled"=>"2016-07-13T23:00:00Z", "clock"=>"", "scratched"=>"false", "season_id"=>"34913769-58a6-487d-aa7a-1883c8f87909", "coverage"=> {"lineups"=>"2", "tactical_lineups"=>"true", "corner_facts"=>"true", "extended_facts"=>"true"} } } } }
7
- end
8
-
9
- def test_it_initializes_a_soccer_summary
10
- data_object = Sportradar::Api::Soccer::Summary.new(@attrs)
11
- assert [:matches].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- end
@@ -1,21 +0,0 @@
1
- require 'test_helper'
2
-
3
- class Sportradar::Api::Soccer::TeamTest < Minitest::Test
4
-
5
- def setup
6
- @attrs = {"id"=>"b78b9f61-0697-4347-a1b6-b7685a130eb1", "name"=>"Salt Lake", "full_name"=>"Real Salt Lake", "alias"=>"SAL", "country_code"=>"USA", "country"=>"United States", "type"=>"team", "reference_id"=>"sr:team:5133", "manager"=> {"id"=>"c0456c5f-51a0-4d12-996f-e3b2a1c7945c", "first_name"=>"Jeff", "last_name"=>"Cassar", "country_code"=>"USA", "country"=>"United States", "birthdate"=>"1974-02-02", "reference_id"=>"sr:manager:539898"}, "roster"=> {"player"=> [{"id"=>"640f8388-9feb-4142-933f-204aecb7ae9f", "first_name"=>"Justen", "last_name"=>"Glad"}] } }
7
- end
8
-
9
- def test_it_initializes_a_soccer_team
10
- data_object = Sportradar::Api::Soccer::Team.new(@attrs)
11
- assert [:name, :full_name, :alias, :country, :country_code, :manager, :players].all? { |e| data_object.attributes.include?(e) }
12
- end
13
-
14
- def test_it_parses_a_scoring_hash
15
- data_object = Sportradar::Api::Soccer::Team.new(@attrs.merge("scoring"=>{"half"=>{"points"=>"0", "number"=>"1"}} ) )
16
- assert_equal data_object.first_half_score, "0"
17
-
18
- end
19
-
20
-
21
- end