sportradar-api 0.9.24 → 0.9.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env.sample +1 -1
- data/Gemfile.lock +2 -2
- data/README.md +1 -1
- data/lib/sportradar/api.rb +23 -1
- data/lib/sportradar/api/basketball.rb +21 -0
- data/lib/sportradar/api/basketball/bio.rb +33 -0
- data/lib/sportradar/api/basketball/broadcast.rb +15 -0
- data/lib/sportradar/api/basketball/nba.rb +123 -0
- data/lib/sportradar/api/basketball/nba/conference.rb +27 -0
- data/lib/sportradar/api/basketball/nba/division.rb +29 -0
- data/lib/sportradar/api/basketball/nba/game.rb +263 -0
- data/lib/sportradar/api/basketball/nba/hierarchy.rb +46 -0
- data/lib/sportradar/api/basketball/nba/overview.rb +64 -0
- data/lib/sportradar/api/basketball/nba/player.rb +146 -0
- data/lib/sportradar/api/basketball/nba/quarter.rb +51 -0
- data/lib/sportradar/api/basketball/nba/record.rb +34 -0
- data/lib/sportradar/api/basketball/nba/schedule.rb +32 -0
- data/lib/sportradar/api/basketball/nba/scoring.rb +89 -0
- data/lib/sportradar/api/basketball/nba/season.rb +42 -0
- data/lib/sportradar/api/basketball/nba/team.rb +166 -0
- data/lib/sportradar/api/basketball/overview.rb +74 -0
- data/lib/sportradar/api/basketball/play.rb +65 -0
- data/lib/sportradar/api/basketball/plays.rb +38 -0
- data/lib/sportradar/api/basketball/plays/assist.rb +11 -0
- data/lib/sportradar/api/basketball/plays/base.rb +88 -0
- data/lib/sportradar/api/basketball/plays/block.rb +11 -0
- data/lib/sportradar/api/basketball/plays/clear_path_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/defensive_three_seconds.rb +8 -0
- data/lib/sportradar/api/basketball/plays/delay.rb +9 -0
- data/lib/sportradar/api/basketball/plays/ejection.rb +9 -0
- data/lib/sportradar/api/basketball/plays/end_period.rb +15 -0
- data/lib/sportradar/api/basketball/plays/flagrant_one.rb +9 -0
- data/lib/sportradar/api/basketball/plays/flagrant_two.rb +9 -0
- data/lib/sportradar/api/basketball/plays/foul.rb +14 -0
- data/lib/sportradar/api/basketball/plays/free_throw_made.rb +20 -0
- data/lib/sportradar/api/basketball/plays/free_throw_miss.rb +20 -0
- data/lib/sportradar/api/basketball/plays/jumpball.rb +9 -0
- data/lib/sportradar/api/basketball/plays/kickball.rb +9 -0
- data/lib/sportradar/api/basketball/plays/lineup_change.rb +9 -0
- data/lib/sportradar/api/basketball/plays/offensive_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/official_timeout.rb +9 -0
- data/lib/sportradar/api/basketball/plays/open_inbound.rb +9 -0
- data/lib/sportradar/api/basketball/plays/open_tip.rb +9 -0
- data/lib/sportradar/api/basketball/plays/personal_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/rebound.rb +15 -0
- data/lib/sportradar/api/basketball/plays/review.rb +8 -0
- data/lib/sportradar/api/basketball/plays/shooting_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/shot_made.rb +21 -0
- data/lib/sportradar/api/basketball/plays/shot_miss.rb +21 -0
- data/lib/sportradar/api/basketball/plays/steal.rb +11 -0
- data/lib/sportradar/api/basketball/plays/team_timeout.rb +9 -0
- data/lib/sportradar/api/basketball/plays/technical_foul.rb +11 -0
- data/lib/sportradar/api/basketball/plays/three_point_made.rb +11 -0
- data/lib/sportradar/api/basketball/plays/three_point_miss.rb +8 -0
- data/lib/sportradar/api/basketball/plays/timeout.rb +15 -0
- data/lib/sportradar/api/basketball/plays/turnover.rb +16 -0
- data/lib/sportradar/api/basketball/plays/tv_timeout.rb +9 -0
- data/lib/sportradar/api/basketball/plays/two_point_made.rb +11 -0
- data/lib/sportradar/api/basketball/plays/two_point_miss.rb +8 -0
- data/lib/sportradar/api/basketball/profile.rb +48 -0
- data/lib/sportradar/api/basketball/season.rb +20 -0
- data/lib/sportradar/api/basketball/venue.rb +53 -0
- data/lib/sportradar/api/data.rb +42 -0
- data/lib/sportradar/api/mma.rb +195 -0
- data/lib/sportradar/api/mma/event.rb +111 -0
- data/lib/sportradar/api/mma/fight.rb +107 -0
- data/lib/sportradar/api/mma/fighter.rb +95 -0
- data/lib/sportradar/api/mma/judge.rb +70 -0
- data/lib/sportradar/api/mma/league.rb +63 -0
- data/lib/sportradar/api/mma/referee.rb +70 -0
- data/lib/sportradar/api/mma/result.rb +68 -0
- data/lib/sportradar/api/mma/roster.rb +72 -0
- data/lib/sportradar/api/mma/schedule.rb +53 -0
- data/lib/sportradar/api/mma/score.rb +83 -0
- data/lib/sportradar/api/mma/venue.rb +72 -0
- data/lib/sportradar/api/ncaafb.rb +185 -0
- data/lib/sportradar/api/ncaafb/drive.rb +89 -0
- data/lib/sportradar/api/ncaafb/game.rb +161 -0
- data/lib/sportradar/api/ncaafb/play.rb +39 -0
- data/lib/sportradar/api/ncaafb/player.rb +61 -0
- data/lib/sportradar/api/ncaafb/quarter.rb +37 -0
- data/lib/sportradar/api/ncaafb/season.rb +71 -0
- data/lib/sportradar/api/ncaafb/team.rb +69 -0
- data/lib/sportradar/api/ncaafb/week.rb +33 -0
- data/lib/sportradar/api/nfl.rb +6 -0
- data/lib/sportradar/api/nfl/conference.rb +2 -1
- data/lib/sportradar/api/request.rb +1 -0
- data/lib/sportradar/api/version.rb +1 -1
- metadata +81 -2
@@ -0,0 +1,107 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class Fight < Data
|
5
|
+
attr_accessor :response, :id, :event, :accolade, :scheduled_rounds, :weight_class, :result
|
6
|
+
@all_hash = {}
|
7
|
+
def self.new(data, **opts)
|
8
|
+
existing = @all_hash[data['id']]
|
9
|
+
if existing
|
10
|
+
existing.update(data)
|
11
|
+
# existing.add_event(opts[:event])
|
12
|
+
# existing
|
13
|
+
else
|
14
|
+
@all_hash[data['id']] = super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
def self.all
|
18
|
+
@all_hash.values
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(data, **opts)
|
22
|
+
@response = data
|
23
|
+
@api = opts[:api]
|
24
|
+
@event = opts[:event]
|
25
|
+
@fighters_hash = {}
|
26
|
+
|
27
|
+
@id = data['id']
|
28
|
+
|
29
|
+
update(data)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fighters
|
33
|
+
@fighters_hash ||= update_fighters(response)
|
34
|
+
@fighters_hash.values
|
35
|
+
end
|
36
|
+
|
37
|
+
def score
|
38
|
+
result.scores
|
39
|
+
end
|
40
|
+
|
41
|
+
def update(data, **opts)
|
42
|
+
@accolade = data['accolade'] if data['accolade']
|
43
|
+
@scheduled_rounds = data['scheduled_rounds'] if data['scheduled_rounds'] # "3",
|
44
|
+
@weight_class = data['weight_class'] if data['weight_class'] # {"id"=>"LW", "weight"=>"146-155", "description"=>"Lightweight"},
|
45
|
+
|
46
|
+
@referee = Referee.new(data['referee'], fight: self, api: api) if data['referee']
|
47
|
+
@result = Result.new(data['result'], fight: self, api: api) if data['result']
|
48
|
+
|
49
|
+
update_fighters(data) if data['fighters']
|
50
|
+
|
51
|
+
self
|
52
|
+
end
|
53
|
+
|
54
|
+
def update_fighters(data)
|
55
|
+
create_data(@fighters_hash, response.dig('fighters', 'fighter'), klass: Fighter, api: api, fight: self)
|
56
|
+
end
|
57
|
+
def api
|
58
|
+
@api ||= Sportradar::Api::Mma.new
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
# def path_base
|
63
|
+
# "games/#{ id }"
|
64
|
+
# end
|
65
|
+
# def path_box
|
66
|
+
# "#{ path_base }/boxscore"
|
67
|
+
# end
|
68
|
+
# def path_pbp
|
69
|
+
# "#{ path_base }/pbp"
|
70
|
+
# end
|
71
|
+
|
72
|
+
# def get_box
|
73
|
+
# data = api.get_data(path_box)['game']
|
74
|
+
# update(data)
|
75
|
+
# @quarter = data.delete('quarter')
|
76
|
+
# data
|
77
|
+
# end
|
78
|
+
|
79
|
+
# def get_pbp
|
80
|
+
# data = api.get_data(path_pbp)['game']
|
81
|
+
# update(data)
|
82
|
+
# @quarter = data['quarter'].first
|
83
|
+
# @pbp = set_pbp(data['quarter'][1..-1])
|
84
|
+
# end
|
85
|
+
|
86
|
+
# def set_pbp(data)
|
87
|
+
# @quarters = parse_into_array_with_options(selector: data, klass: self.parent::Quarter, api: api, game: self)
|
88
|
+
# @plays = nil # to clear empty array empty
|
89
|
+
# @quarters
|
90
|
+
# end
|
91
|
+
|
92
|
+
KEYS_SCHED = ["id", "name", "scheduled", "venue", "league", "fights"]
|
93
|
+
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
__END__
|
100
|
+
|
101
|
+
m = Sportradar::Api::Mma.new
|
102
|
+
sc = m.schedule;
|
103
|
+
sc.events.size;
|
104
|
+
e = sc.events.sample;
|
105
|
+
e = sc.events.first;
|
106
|
+
e = sc.events.last;
|
107
|
+
e.venue.events.size
|
@@ -0,0 +1,95 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class Fighter < Data
|
5
|
+
attr_accessor :response, :id, :height, :weight, :reach, :stance, :first_name, :nick_name, :last_name, :record, :born, :out_of
|
6
|
+
@all_hash = {}
|
7
|
+
def self.new(data, **opts)
|
8
|
+
existing = @all_hash[data['id']]
|
9
|
+
if existing
|
10
|
+
existing.update(data, **opts)
|
11
|
+
existing.add_fight(opts[:fight])
|
12
|
+
existing
|
13
|
+
else
|
14
|
+
@all_hash[data['id']] = super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
def self.all
|
18
|
+
@all_hash.values
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(data, **opts)
|
22
|
+
@response = data
|
23
|
+
@api = opts[:api]
|
24
|
+
@roster = opts[:roster]
|
25
|
+
@fights_hash = {}
|
26
|
+
|
27
|
+
@id = data['id']
|
28
|
+
|
29
|
+
update(data)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fights
|
33
|
+
@fights_hash.values
|
34
|
+
end
|
35
|
+
def add_fight(fight)
|
36
|
+
@fights_hash[fight.id] = fight if fight
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def update(data, **opts)
|
41
|
+
@height = data['height'] if data['height'] # "72",
|
42
|
+
@weight = data['weight'] if data['weight'] # "170",
|
43
|
+
@reach = data['reach'] if data['reach'] # "",
|
44
|
+
@stance = data['stance'] if data['stance'] # "",
|
45
|
+
@first_name = data['first_name'] if data['first_name'] # "Sai",
|
46
|
+
@nick_name = data['nick_name'] if data['nick_name'] # "The Boss",
|
47
|
+
@last_name = data['last_name'] if data['last_name'] # "Wang",
|
48
|
+
@record = data['record'] if data['record'] # {"wins"=>"6", "losses"=>"4", "draws"=>"1", "no_contests"=>"0"},
|
49
|
+
@born = data['born'] if data['born'] # {"date"=>"1988-01-16", "country_code"=>"UNK", "country"=>"Unknown", "state"=>"", "city"=>""},
|
50
|
+
@out_of = data['out_of'] if data['out_of'] # {"country_code"=>"UNK", "country"=>"Unknown", "state"=>"", "city"=>""}}
|
51
|
+
|
52
|
+
self
|
53
|
+
end
|
54
|
+
|
55
|
+
def path_base
|
56
|
+
"participants/#{ id }"
|
57
|
+
end
|
58
|
+
def path_profile
|
59
|
+
"#{ path_base }/profile"
|
60
|
+
end
|
61
|
+
|
62
|
+
def get_profile
|
63
|
+
data = api.get_data(path_profile)['profile'].dig('fighters', 'fighter')
|
64
|
+
update(data)
|
65
|
+
self
|
66
|
+
end
|
67
|
+
def api
|
68
|
+
@api ||= Sportradar::Api::Mma.new
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
KEYS_SCHED = ["id", "name", "scheduled", "venue", "league", "fights"]
|
74
|
+
KEYS_EVENT = ["height", "weight", "reach", "stance", "first_name", "nick_name", "last_name", "record"]
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
__END__
|
82
|
+
|
83
|
+
|
84
|
+
m = Sportradar::Api::Mma.new
|
85
|
+
sr = m.participants;
|
86
|
+
f = sr.fighters.sample;
|
87
|
+
|
88
|
+
|
89
|
+
m = Sportradar::Api::Mma.new
|
90
|
+
sc = m.schedule;
|
91
|
+
e = sc.events.sample;
|
92
|
+
e.fights.first.fighters.first.born
|
93
|
+
|
94
|
+
fighter_hash = {'id' => "259117dc-c443-4086-8c1d-abd082e3d4b9" } # => Conor McGregor
|
95
|
+
f = Sportradar::Api::Mma::Fighter.new(fighter_hash)
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class Judge < Data
|
5
|
+
attr_accessor :response, :id, :first_name, :last_name
|
6
|
+
@all_hash = {}
|
7
|
+
def self.new(data, **opts)
|
8
|
+
existing = @all_hash[data['id']]
|
9
|
+
if existing
|
10
|
+
existing.update(data, **opts)
|
11
|
+
existing.add_fight(opts[:fight])
|
12
|
+
existing
|
13
|
+
else
|
14
|
+
@all_hash[data['id']] = super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
def self.all
|
18
|
+
@all_hash.values
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(data, **opts)
|
22
|
+
@response = data
|
23
|
+
@api = opts[:api]
|
24
|
+
@roster = opts[:roster]
|
25
|
+
@fights_hash = {}
|
26
|
+
|
27
|
+
@id = data['id']
|
28
|
+
|
29
|
+
update(data)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fights
|
33
|
+
@fights_hash.values
|
34
|
+
end
|
35
|
+
def add_fight(fight)
|
36
|
+
@fights_hash[fight.id] = fight if fight
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def update(data, **opts)
|
41
|
+
@first_name = data['first_name'] if data['first_name'] # "Sai",
|
42
|
+
@nick_name = data['nick_name'] if data['nick_name'] # "The Boss",
|
43
|
+
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
def api
|
48
|
+
@api ||= Sportradar::Api::Mma.new
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
__END__
|
57
|
+
|
58
|
+
|
59
|
+
m = Sportradar::Api::Mma.new
|
60
|
+
sr = m.participants;
|
61
|
+
f = sr.fighters.sample;
|
62
|
+
|
63
|
+
|
64
|
+
m = Sportradar::Api::Mma.new
|
65
|
+
sc = m.schedule;
|
66
|
+
e = sc.events.sample;
|
67
|
+
e.fights.first.fighters.first.born
|
68
|
+
|
69
|
+
fighter_hash = {'id' => "259117dc-c443-4086-8c1d-abd082e3d4b9" } # => Conor McGregor
|
70
|
+
f = Sportradar::Api::Mma::Fighter.new(fighter_hash)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class League < Data
|
5
|
+
attr_accessor :response, :id, :event, :name, :alias
|
6
|
+
@all_hash = {}
|
7
|
+
def self.new(data, **opts)
|
8
|
+
existing = @all_hash[data['id']]
|
9
|
+
if existing
|
10
|
+
existing.update(data)
|
11
|
+
existing.add_event(opts[:event])
|
12
|
+
existing
|
13
|
+
else
|
14
|
+
@all_hash[data['id']] = super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
def self.all
|
18
|
+
@all_hash.values
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(data, **opts)
|
22
|
+
@response = data
|
23
|
+
@api = opts[:api]
|
24
|
+
@event = opts[:event]
|
25
|
+
@events_hash = {}
|
26
|
+
|
27
|
+
@id = response['id']
|
28
|
+
|
29
|
+
update(data)
|
30
|
+
end
|
31
|
+
|
32
|
+
def events
|
33
|
+
@events_hash.values
|
34
|
+
end
|
35
|
+
def add_event(event)
|
36
|
+
@events_hash[event.id] = event if event
|
37
|
+
end
|
38
|
+
|
39
|
+
def update(data)
|
40
|
+
@name = response['name']
|
41
|
+
@alias = response['alias']
|
42
|
+
|
43
|
+
self
|
44
|
+
end
|
45
|
+
def api
|
46
|
+
@api ||= Sportradar::Api::Mma.new
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
KEYS_SCHED = ["id", "name", "scheduled", "venue", "league", "fights"]
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
__END__
|
58
|
+
|
59
|
+
m = Sportradar::Api::Mma.new
|
60
|
+
sc = m.schedule;
|
61
|
+
sc.events.size
|
62
|
+
e = sc.events.last;
|
63
|
+
e.league.events.size
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class Referee < Data
|
5
|
+
attr_accessor :response, :id, :first_name, :last_name
|
6
|
+
@all_hash = {}
|
7
|
+
def self.new(data, **opts)
|
8
|
+
existing = @all_hash[data['id']]
|
9
|
+
if existing
|
10
|
+
existing.update(data, **opts)
|
11
|
+
existing.add_fight(opts[:fight])
|
12
|
+
existing
|
13
|
+
else
|
14
|
+
@all_hash[data['id']] = super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
def self.all
|
18
|
+
@all_hash.values
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(data, **opts)
|
22
|
+
@response = data
|
23
|
+
@api = opts[:api]
|
24
|
+
@roster = opts[:roster]
|
25
|
+
@fights_hash = {}
|
26
|
+
|
27
|
+
@id = data['id']
|
28
|
+
|
29
|
+
update(data)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fights
|
33
|
+
@fights_hash.values
|
34
|
+
end
|
35
|
+
def add_fight(fight)
|
36
|
+
@fights_hash[fight.id] = fight if fight
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def update(data, **opts)
|
41
|
+
@first_name = data['first_name'] if data['first_name'] # "Sai",
|
42
|
+
@last_name = data['last_name'] if data['last_name'] # "The Boss",
|
43
|
+
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
def api
|
48
|
+
@api ||= Sportradar::Api::Mma.new
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
__END__
|
57
|
+
|
58
|
+
|
59
|
+
m = Sportradar::Api::Mma.new
|
60
|
+
sr = m.participants;
|
61
|
+
f = sr.fighters.sample;
|
62
|
+
|
63
|
+
|
64
|
+
m = Sportradar::Api::Mma.new
|
65
|
+
sc = m.schedule;
|
66
|
+
e = sc.events.sample;
|
67
|
+
e.fights.first.fighters.first.born
|
68
|
+
|
69
|
+
fighter_hash = {'id' => "259117dc-c443-4086-8c1d-abd082e3d4b9" } # => Conor McGregor
|
70
|
+
f = Sportradar::Api::Mma::Fighter.new(fighter_hash)
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Sportradar
|
2
|
+
module Api
|
3
|
+
class Mma
|
4
|
+
class Result < Data
|
5
|
+
attr_accessor :response, :id, :round, :time, :outcome, :submission, :endstrike, :endtarget, :endposition, :winner, :draw
|
6
|
+
|
7
|
+
def initialize(data, **opts)
|
8
|
+
@response = data
|
9
|
+
@api = opts[:api]
|
10
|
+
@fight = opts[:fight]
|
11
|
+
@scores_hash = {}
|
12
|
+
|
13
|
+
|
14
|
+
update(data)
|
15
|
+
end
|
16
|
+
|
17
|
+
def scores
|
18
|
+
@scores_hash.values
|
19
|
+
end
|
20
|
+
def add_score(score)
|
21
|
+
@scores_hash[score.id] = score if score
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def update(data, **opts)
|
26
|
+
@round = data['round'] if data['round'] # "3",
|
27
|
+
@time = data['time'] if data['time'] # "05:00",
|
28
|
+
@outcome = data['method'] if data['method'] # "Decision - Split",
|
29
|
+
@submission = data['submission'] if data['submission'] # "",
|
30
|
+
@endstrike = data['endstrike'] if data['endstrike'] # "",
|
31
|
+
@endtarget = data['endtarget'] if data['endtarget'] # "",
|
32
|
+
@endposition = data['endposition'] if data['endposition'] # "",
|
33
|
+
@winner = data['winner'] if data['winner'] # "3043fe6a-1f8b-4aa7-85fe-8f8859740cc4",
|
34
|
+
@draw = data['draw'] if data['draw'] # "false",
|
35
|
+
|
36
|
+
update_scores(data)
|
37
|
+
self
|
38
|
+
end
|
39
|
+
def update_scores(data)
|
40
|
+
return if String === data['scores']
|
41
|
+
create_data(@scores_hash, data.dig('scores', 'judge'), klass: Score, api: api, result: self)
|
42
|
+
# @judges = Judge.new(data['judges'], fight: self, api: api) if data['judges']
|
43
|
+
end
|
44
|
+
|
45
|
+
def api
|
46
|
+
@api ||= Sportradar::Api::Mma.new
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
__END__
|
55
|
+
|
56
|
+
|
57
|
+
m = Sportradar::Api::Mma.new
|
58
|
+
sr = m.participants;
|
59
|
+
f = sr.fighters.sample;
|
60
|
+
|
61
|
+
|
62
|
+
m = Sportradar::Api::Mma.new
|
63
|
+
sc = m.schedule;
|
64
|
+
e = sc.events.sample;
|
65
|
+
e.fights.first.fighters.first.born
|
66
|
+
|
67
|
+
fighter_hash = {'id' => "259117dc-c443-4086-8c1d-abd082e3d4b9" } # => Conor McGregor
|
68
|
+
f = Sportradar::Api::Mma::Fighter.new(fighter_hash)
|