sports-odds-api 1.2.2 → 1.3.0
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 +4 -4
- data/CHANGELOG.md +38 -0
- data/README.md +11 -1
- data/lib/sports_odds_api/client.rb +28 -1
- data/lib/sports_odds_api/internal/transport/base_client.rb +5 -0
- data/lib/sports_odds_api/internal/transport/pooled_net_requester.rb +13 -11
- data/lib/sports_odds_api/internal/util.rb +61 -10
- data/lib/sports_odds_api/models/event.rb +197 -4
- data/lib/sports_odds_api/models/event_get_params.rb +22 -4
- data/lib/sports_odds_api/models/market.rb +206 -0
- data/lib/sports_odds_api/models/market_get_params.rb +150 -0
- data/lib/sports_odds_api/models/player_get_params.rb +3 -3
- data/lib/sports_odds_api/models/team.rb +107 -2
- data/lib/sports_odds_api/models/team_get_params.rb +3 -3
- data/lib/sports_odds_api/models.rb +4 -0
- data/lib/sports_odds_api/resources/account.rb +1 -0
- data/lib/sports_odds_api/resources/events.rb +11 -3
- data/lib/sports_odds_api/resources/leagues.rb +3 -1
- data/lib/sports_odds_api/resources/markets.rb +87 -0
- data/lib/sports_odds_api/resources/players.rb +4 -2
- data/lib/sports_odds_api/resources/sports.rb +1 -0
- data/lib/sports_odds_api/resources/stats.rb +3 -1
- data/lib/sports_odds_api/resources/stream.rb +3 -1
- data/lib/sports_odds_api/resources/teams.rb +4 -2
- data/lib/sports_odds_api/version.rb +1 -1
- data/lib/sports_odds_api.rb +3 -0
- data/rbi/sports_odds_api/client.rbi +12 -0
- data/rbi/sports_odds_api/internal/util.rbi +29 -1
- data/rbi/sports_odds_api/models/event.rbi +387 -3
- data/rbi/sports_odds_api/models/event_get_params.rbi +30 -4
- data/rbi/sports_odds_api/models/market.rbi +326 -0
- data/rbi/sports_odds_api/models/market_get_params.rbi +224 -0
- data/rbi/sports_odds_api/models/player_get_params.rbi +4 -4
- data/rbi/sports_odds_api/models/team.rbi +186 -3
- data/rbi/sports_odds_api/models/team_get_params.rbi +4 -4
- data/rbi/sports_odds_api/models.rbi +4 -0
- data/rbi/sports_odds_api/resources/account.rbi +1 -0
- data/rbi/sports_odds_api/resources/events.rbi +11 -2
- data/rbi/sports_odds_api/resources/leagues.rbi +1 -0
- data/rbi/sports_odds_api/resources/markets.rbi +79 -0
- data/rbi/sports_odds_api/resources/players.rbi +3 -2
- data/rbi/sports_odds_api/resources/sports.rbi +1 -0
- data/rbi/sports_odds_api/resources/stats.rbi +1 -0
- data/rbi/sports_odds_api/resources/stream.rbi +1 -0
- data/rbi/sports_odds_api/resources/teams.rbi +3 -2
- data/sig/sports_odds_api/client.rbs +2 -0
- data/sig/sports_odds_api/internal/util.rbs +14 -0
- data/sig/sports_odds_api/models/event.rbs +246 -3
- data/sig/sports_odds_api/models/event_get_params.rbs +14 -0
- data/sig/sports_odds_api/models/market.rbs +186 -0
- data/sig/sports_odds_api/models/market_get_params.rbs +133 -0
- data/sig/sports_odds_api/models/team.rbs +130 -3
- data/sig/sports_odds_api/models.rbs +4 -0
- data/sig/sports_odds_api/resources/events.rbs +2 -0
- data/sig/sports_odds_api/resources/markets.rbs +27 -0
- metadata +39 -2
|
@@ -8,6 +8,12 @@ module SportsOddsAPI
|
|
|
8
8
|
T.any(SportsOddsAPI::Team, SportsOddsAPI::Internal::AnyHash)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
sig { returns(T.nilable(SportsOddsAPI::Team::Coach)) }
|
|
12
|
+
attr_reader :coach
|
|
13
|
+
|
|
14
|
+
sig { params(coach: SportsOddsAPI::Team::Coach::OrHash).void }
|
|
15
|
+
attr_writer :coach
|
|
16
|
+
|
|
11
17
|
sig { returns(T.nilable(SportsOddsAPI::Team::Colors)) }
|
|
12
18
|
attr_reader :colors
|
|
13
19
|
|
|
@@ -38,6 +44,12 @@ module SportsOddsAPI
|
|
|
38
44
|
sig { params(names: SportsOddsAPI::Team::Names::OrHash).void }
|
|
39
45
|
attr_writer :names
|
|
40
46
|
|
|
47
|
+
sig { returns(T.nilable(SportsOddsAPI::Team::Owner)) }
|
|
48
|
+
attr_reader :owner
|
|
49
|
+
|
|
50
|
+
sig { params(owner: SportsOddsAPI::Team::Owner::OrHash).void }
|
|
51
|
+
attr_writer :owner
|
|
52
|
+
|
|
41
53
|
sig { returns(T.nilable(String)) }
|
|
42
54
|
attr_reader :sport_id
|
|
43
55
|
|
|
@@ -56,47 +68,83 @@ module SportsOddsAPI
|
|
|
56
68
|
sig { params(team_id: String).void }
|
|
57
69
|
attr_writer :team_id
|
|
58
70
|
|
|
71
|
+
sig { returns(T.nilable(SportsOddsAPI::Team::Venue)) }
|
|
72
|
+
attr_reader :venue
|
|
73
|
+
|
|
74
|
+
sig { params(venue: SportsOddsAPI::Team::Venue::OrHash).void }
|
|
75
|
+
attr_writer :venue
|
|
76
|
+
|
|
59
77
|
sig do
|
|
60
78
|
params(
|
|
79
|
+
coach: SportsOddsAPI::Team::Coach::OrHash,
|
|
61
80
|
colors: SportsOddsAPI::Team::Colors::OrHash,
|
|
62
81
|
league_id: String,
|
|
63
82
|
logo: String,
|
|
64
83
|
lookups: SportsOddsAPI::Team::Lookups::OrHash,
|
|
65
84
|
names: SportsOddsAPI::Team::Names::OrHash,
|
|
85
|
+
owner: SportsOddsAPI::Team::Owner::OrHash,
|
|
66
86
|
sport_id: String,
|
|
67
87
|
standings: SportsOddsAPI::Team::Standings::OrHash,
|
|
68
|
-
team_id: String
|
|
88
|
+
team_id: String,
|
|
89
|
+
venue: SportsOddsAPI::Team::Venue::OrHash
|
|
69
90
|
).returns(T.attached_class)
|
|
70
91
|
end
|
|
71
92
|
def self.new(
|
|
93
|
+
coach: nil,
|
|
72
94
|
colors: nil,
|
|
73
95
|
league_id: nil,
|
|
74
96
|
logo: nil,
|
|
75
97
|
lookups: nil,
|
|
76
98
|
names: nil,
|
|
99
|
+
owner: nil,
|
|
77
100
|
sport_id: nil,
|
|
78
101
|
standings: nil,
|
|
79
|
-
team_id: nil
|
|
102
|
+
team_id: nil,
|
|
103
|
+
venue: nil
|
|
80
104
|
)
|
|
81
105
|
end
|
|
82
106
|
|
|
83
107
|
sig do
|
|
84
108
|
override.returns(
|
|
85
109
|
{
|
|
110
|
+
coach: SportsOddsAPI::Team::Coach,
|
|
86
111
|
colors: SportsOddsAPI::Team::Colors,
|
|
87
112
|
league_id: String,
|
|
88
113
|
logo: String,
|
|
89
114
|
lookups: SportsOddsAPI::Team::Lookups,
|
|
90
115
|
names: SportsOddsAPI::Team::Names,
|
|
116
|
+
owner: SportsOddsAPI::Team::Owner,
|
|
91
117
|
sport_id: String,
|
|
92
118
|
standings: SportsOddsAPI::Team::Standings,
|
|
93
|
-
team_id: String
|
|
119
|
+
team_id: String,
|
|
120
|
+
venue: SportsOddsAPI::Team::Venue
|
|
94
121
|
}
|
|
95
122
|
)
|
|
96
123
|
end
|
|
97
124
|
def to_hash
|
|
98
125
|
end
|
|
99
126
|
|
|
127
|
+
class Coach < SportsOddsAPI::Internal::Type::BaseModel
|
|
128
|
+
OrHash =
|
|
129
|
+
T.type_alias do
|
|
130
|
+
T.any(SportsOddsAPI::Team::Coach, SportsOddsAPI::Internal::AnyHash)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
sig { returns(T.nilable(String)) }
|
|
134
|
+
attr_reader :name
|
|
135
|
+
|
|
136
|
+
sig { params(name: String).void }
|
|
137
|
+
attr_writer :name
|
|
138
|
+
|
|
139
|
+
sig { params(name: String).returns(T.attached_class) }
|
|
140
|
+
def self.new(name: nil)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
sig { override.returns({ name: String }) }
|
|
144
|
+
def to_hash
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
100
148
|
class Colors < SportsOddsAPI::Internal::Type::BaseModel
|
|
101
149
|
OrHash =
|
|
102
150
|
T.type_alias do
|
|
@@ -220,6 +268,27 @@ module SportsOddsAPI
|
|
|
220
268
|
end
|
|
221
269
|
end
|
|
222
270
|
|
|
271
|
+
class Owner < SportsOddsAPI::Internal::Type::BaseModel
|
|
272
|
+
OrHash =
|
|
273
|
+
T.type_alias do
|
|
274
|
+
T.any(SportsOddsAPI::Team::Owner, SportsOddsAPI::Internal::AnyHash)
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
sig { returns(T.nilable(String)) }
|
|
278
|
+
attr_reader :name
|
|
279
|
+
|
|
280
|
+
sig { params(name: String).void }
|
|
281
|
+
attr_writer :name
|
|
282
|
+
|
|
283
|
+
sig { params(name: String).returns(T.attached_class) }
|
|
284
|
+
def self.new(name: nil)
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
sig { override.returns({ name: String }) }
|
|
288
|
+
def to_hash
|
|
289
|
+
end
|
|
290
|
+
end
|
|
291
|
+
|
|
223
292
|
class Standings < SportsOddsAPI::Internal::Type::BaseModel
|
|
224
293
|
OrHash =
|
|
225
294
|
T.type_alias do
|
|
@@ -229,6 +298,12 @@ module SportsOddsAPI
|
|
|
229
298
|
)
|
|
230
299
|
end
|
|
231
300
|
|
|
301
|
+
sig { returns(T.nilable(String)) }
|
|
302
|
+
attr_reader :last5
|
|
303
|
+
|
|
304
|
+
sig { params(last5: String).void }
|
|
305
|
+
attr_writer :last5
|
|
306
|
+
|
|
232
307
|
sig { returns(T.nilable(Float)) }
|
|
233
308
|
attr_reader :losses
|
|
234
309
|
|
|
@@ -253,6 +328,12 @@ module SportsOddsAPI
|
|
|
253
328
|
sig { params(record: String).void }
|
|
254
329
|
attr_writer :record
|
|
255
330
|
|
|
331
|
+
sig { returns(T.nilable(Float)) }
|
|
332
|
+
attr_reader :streak
|
|
333
|
+
|
|
334
|
+
sig { params(streak: Float).void }
|
|
335
|
+
attr_writer :streak
|
|
336
|
+
|
|
256
337
|
sig { returns(T.nilable(Float)) }
|
|
257
338
|
attr_reader :ties
|
|
258
339
|
|
|
@@ -267,19 +348,23 @@ module SportsOddsAPI
|
|
|
267
348
|
|
|
268
349
|
sig do
|
|
269
350
|
params(
|
|
351
|
+
last5: String,
|
|
270
352
|
losses: Float,
|
|
271
353
|
played: Float,
|
|
272
354
|
position: String,
|
|
273
355
|
record: String,
|
|
356
|
+
streak: Float,
|
|
274
357
|
ties: Float,
|
|
275
358
|
wins: Float
|
|
276
359
|
).returns(T.attached_class)
|
|
277
360
|
end
|
|
278
361
|
def self.new(
|
|
362
|
+
last5: nil,
|
|
279
363
|
losses: nil,
|
|
280
364
|
played: nil,
|
|
281
365
|
position: nil,
|
|
282
366
|
record: nil,
|
|
367
|
+
streak: nil,
|
|
283
368
|
ties: nil,
|
|
284
369
|
wins: nil
|
|
285
370
|
)
|
|
@@ -288,10 +373,12 @@ module SportsOddsAPI
|
|
|
288
373
|
sig do
|
|
289
374
|
override.returns(
|
|
290
375
|
{
|
|
376
|
+
last5: String,
|
|
291
377
|
losses: Float,
|
|
292
378
|
played: Float,
|
|
293
379
|
position: String,
|
|
294
380
|
record: String,
|
|
381
|
+
streak: Float,
|
|
295
382
|
ties: Float,
|
|
296
383
|
wins: Float
|
|
297
384
|
}
|
|
@@ -300,6 +387,102 @@ module SportsOddsAPI
|
|
|
300
387
|
def to_hash
|
|
301
388
|
end
|
|
302
389
|
end
|
|
390
|
+
|
|
391
|
+
class Venue < SportsOddsAPI::Internal::Type::BaseModel
|
|
392
|
+
OrHash =
|
|
393
|
+
T.type_alias do
|
|
394
|
+
T.any(SportsOddsAPI::Team::Venue, SportsOddsAPI::Internal::AnyHash)
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
sig { returns(T.nilable(String)) }
|
|
398
|
+
attr_reader :address
|
|
399
|
+
|
|
400
|
+
sig { params(address: String).void }
|
|
401
|
+
attr_writer :address
|
|
402
|
+
|
|
403
|
+
sig { returns(T.nilable(Float)) }
|
|
404
|
+
attr_reader :capacity
|
|
405
|
+
|
|
406
|
+
sig { params(capacity: Float).void }
|
|
407
|
+
attr_writer :capacity
|
|
408
|
+
|
|
409
|
+
sig { returns(T.nilable(String)) }
|
|
410
|
+
attr_reader :city
|
|
411
|
+
|
|
412
|
+
sig { params(city: String).void }
|
|
413
|
+
attr_writer :city
|
|
414
|
+
|
|
415
|
+
sig { returns(T.nilable(String)) }
|
|
416
|
+
attr_reader :country_code
|
|
417
|
+
|
|
418
|
+
sig { params(country_code: String).void }
|
|
419
|
+
attr_writer :country_code
|
|
420
|
+
|
|
421
|
+
sig { returns(T.nilable(String)) }
|
|
422
|
+
attr_reader :country_name
|
|
423
|
+
|
|
424
|
+
sig { params(country_name: String).void }
|
|
425
|
+
attr_writer :country_name
|
|
426
|
+
|
|
427
|
+
sig { returns(T.nilable(String)) }
|
|
428
|
+
attr_reader :name
|
|
429
|
+
|
|
430
|
+
sig { params(name: String).void }
|
|
431
|
+
attr_writer :name
|
|
432
|
+
|
|
433
|
+
sig { returns(T.nilable(String)) }
|
|
434
|
+
attr_reader :region_code
|
|
435
|
+
|
|
436
|
+
sig { params(region_code: String).void }
|
|
437
|
+
attr_writer :region_code
|
|
438
|
+
|
|
439
|
+
sig { returns(T.nilable(String)) }
|
|
440
|
+
attr_reader :region_name
|
|
441
|
+
|
|
442
|
+
sig { params(region_name: String).void }
|
|
443
|
+
attr_writer :region_name
|
|
444
|
+
|
|
445
|
+
sig do
|
|
446
|
+
params(
|
|
447
|
+
address: String,
|
|
448
|
+
capacity: Float,
|
|
449
|
+
city: String,
|
|
450
|
+
country_code: String,
|
|
451
|
+
country_name: String,
|
|
452
|
+
name: String,
|
|
453
|
+
region_code: String,
|
|
454
|
+
region_name: String
|
|
455
|
+
).returns(T.attached_class)
|
|
456
|
+
end
|
|
457
|
+
def self.new(
|
|
458
|
+
address: nil,
|
|
459
|
+
capacity: nil,
|
|
460
|
+
city: nil,
|
|
461
|
+
country_code: nil,
|
|
462
|
+
country_name: nil,
|
|
463
|
+
name: nil,
|
|
464
|
+
region_code: nil,
|
|
465
|
+
region_name: nil
|
|
466
|
+
)
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
sig do
|
|
470
|
+
override.returns(
|
|
471
|
+
{
|
|
472
|
+
address: String,
|
|
473
|
+
capacity: Float,
|
|
474
|
+
city: String,
|
|
475
|
+
country_code: String,
|
|
476
|
+
country_name: String,
|
|
477
|
+
name: String,
|
|
478
|
+
region_code: String,
|
|
479
|
+
region_name: String
|
|
480
|
+
}
|
|
481
|
+
)
|
|
482
|
+
end
|
|
483
|
+
def to_hash
|
|
484
|
+
end
|
|
485
|
+
end
|
|
303
486
|
end
|
|
304
487
|
end
|
|
305
488
|
end
|
|
@@ -11,8 +11,8 @@ module SportsOddsAPI
|
|
|
11
11
|
T.any(SportsOddsAPI::TeamGetParams, SportsOddsAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
# The cursor for the request. Used to get the next group of Teams. This
|
|
15
|
-
# the nextCursor from the prior response.
|
|
14
|
+
# The cursor for the request. Used to get the next group of Teams. This is an
|
|
15
|
+
# opaque token — pass the nextCursor value from the prior response unchanged.
|
|
16
16
|
sig { returns(T.nilable(String)) }
|
|
17
17
|
attr_reader :cursor
|
|
18
18
|
|
|
@@ -58,8 +58,8 @@ module SportsOddsAPI
|
|
|
58
58
|
).returns(T.attached_class)
|
|
59
59
|
end
|
|
60
60
|
def self.new(
|
|
61
|
-
# The cursor for the request. Used to get the next group of Teams. This
|
|
62
|
-
# the nextCursor from the prior response.
|
|
61
|
+
# The cursor for the request. Used to get the next group of Teams. This is an
|
|
62
|
+
# opaque token — pass the nextCursor value from the prior response unchanged.
|
|
63
63
|
cursor: nil,
|
|
64
64
|
# A single leagueID or comma-separated list of leagueIDs to get Teams for
|
|
65
65
|
league_id: nil,
|
|
@@ -13,6 +13,10 @@ module SportsOddsAPI
|
|
|
13
13
|
|
|
14
14
|
LeagueGetParams = SportsOddsAPI::Models::LeagueGetParams
|
|
15
15
|
|
|
16
|
+
Market = SportsOddsAPI::Models::Market
|
|
17
|
+
|
|
18
|
+
MarketGetParams = SportsOddsAPI::Models::MarketGetParams
|
|
19
|
+
|
|
16
20
|
Player = SportsOddsAPI::Models::Player
|
|
17
21
|
|
|
18
22
|
PlayerGetParams = SportsOddsAPI::Models::PlayerGetParams
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module SportsOddsAPI
|
|
4
4
|
module Resources
|
|
5
|
+
# Get info about Events (includes odds, results, teams, and other metadata)
|
|
5
6
|
class Events
|
|
6
7
|
# Get a list of Events
|
|
7
8
|
sig do
|
|
@@ -12,8 +13,10 @@ module SportsOddsAPI
|
|
|
12
13
|
ended: T::Boolean,
|
|
13
14
|
event_id: String,
|
|
14
15
|
event_ids: String,
|
|
16
|
+
expand_results: T::Boolean,
|
|
15
17
|
finalized: T::Boolean,
|
|
16
18
|
include_alt_lines: T::Boolean,
|
|
19
|
+
include_open_close_odds: T::Boolean,
|
|
17
20
|
include_opposing_odds: T::Boolean,
|
|
18
21
|
league_id: String,
|
|
19
22
|
limit: Float,
|
|
@@ -37,8 +40,8 @@ module SportsOddsAPI
|
|
|
37
40
|
# Only include cancelled Events (true), only non-cancelled Events (false) or all
|
|
38
41
|
# Events (omit)
|
|
39
42
|
cancelled: nil,
|
|
40
|
-
# The cursor for the request. Used to get the next group of Events. This
|
|
41
|
-
# the nextCursor from the prior response.
|
|
43
|
+
# The cursor for the request. Used to get the next group of Events. This is an
|
|
44
|
+
# opaque token — pass the nextCursor value from the prior response unchanged.
|
|
42
45
|
cursor: nil,
|
|
43
46
|
# Only include Events which have have ended (true), only Events which have not
|
|
44
47
|
# ended (false) or all Events (omit)
|
|
@@ -47,11 +50,17 @@ module SportsOddsAPI
|
|
|
47
50
|
event_id: nil,
|
|
48
51
|
# A comma separated list of eventIDs to get Event data for
|
|
49
52
|
event_ids: nil,
|
|
53
|
+
# Whether to expand the results object to include all stat values rather than just
|
|
54
|
+
# the base set
|
|
55
|
+
expand_results: nil,
|
|
50
56
|
# Only include finalized Events (true), exclude unfinalized Events (false) or all
|
|
51
57
|
# Events (omit)
|
|
52
58
|
finalized: nil,
|
|
53
59
|
# Whether to include alternate lines in the odds byBookmaker data
|
|
54
60
|
include_alt_lines: nil,
|
|
61
|
+
# Whether to include open and close odds values (openOdds, closeOdds, openSpread,
|
|
62
|
+
# closeSpread, openOverUnder, closeOverUnder) in the odds byBookmaker data
|
|
63
|
+
include_open_close_odds: nil,
|
|
55
64
|
# Whether to include opposing odds for each included oddID
|
|
56
65
|
include_opposing_odds: nil,
|
|
57
66
|
# A leagueID or comma-separated list of leagueIDs to get Events for
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SportsOddsAPI
|
|
4
|
+
module Resources
|
|
5
|
+
# Get metadata on supported Markets
|
|
6
|
+
class Markets
|
|
7
|
+
# Get a list of Markets
|
|
8
|
+
sig do
|
|
9
|
+
params(
|
|
10
|
+
bet_type_id: String,
|
|
11
|
+
bookmaker_id: String,
|
|
12
|
+
cursor: String,
|
|
13
|
+
is_main_market: T::Boolean,
|
|
14
|
+
is_prop: T::Boolean,
|
|
15
|
+
is_sub_period: T::Boolean,
|
|
16
|
+
is_supported: T::Boolean,
|
|
17
|
+
league_id: String,
|
|
18
|
+
limit: Float,
|
|
19
|
+
odd_id: String,
|
|
20
|
+
period_id: String,
|
|
21
|
+
prop_type: String,
|
|
22
|
+
side_id: String,
|
|
23
|
+
sport_id: String,
|
|
24
|
+
stat_entity_id: String,
|
|
25
|
+
stat_id: String,
|
|
26
|
+
request_options: SportsOddsAPI::RequestOptions::OrHash
|
|
27
|
+
).returns(
|
|
28
|
+
SportsOddsAPI::Internal::NextCursorPage[SportsOddsAPI::Market]
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
def get(
|
|
32
|
+
# A single betTypeID or comma-separated list of betTypeIDs to filter Markets by
|
|
33
|
+
bet_type_id: nil,
|
|
34
|
+
# A single bookmakerID or comma-separated list of bookmakerIDs to filter Markets
|
|
35
|
+
# by
|
|
36
|
+
bookmaker_id: nil,
|
|
37
|
+
# The cursor for pagination. Use nextCursor from prior response.
|
|
38
|
+
cursor: nil,
|
|
39
|
+
# Filter to only include main markets (main period moneyline, spread, and
|
|
40
|
+
# over/under)
|
|
41
|
+
is_main_market: nil,
|
|
42
|
+
# Filter by whether it is any type of prop bet market
|
|
43
|
+
is_prop: nil,
|
|
44
|
+
# Filter by whether it tracks a sub/non-main period
|
|
45
|
+
is_sub_period: nil,
|
|
46
|
+
# Filter whether this market is fully supported by at least 1 bookmaker in at
|
|
47
|
+
# least 1 league. Defaults to true if not specified.
|
|
48
|
+
is_supported: nil,
|
|
49
|
+
# A single leagueID or comma-separated list of leagueIDs to filter Markets by
|
|
50
|
+
league_id: nil,
|
|
51
|
+
# The maximum number of Markets to return (default: 100, max: 10000)
|
|
52
|
+
limit: nil,
|
|
53
|
+
# A single oddID or comma-separated list of oddIDs. Used to specify specific
|
|
54
|
+
# Markets to return.
|
|
55
|
+
odd_id: nil,
|
|
56
|
+
# A single periodID or comma-separated list of periodIDs to filter Markets by
|
|
57
|
+
period_id: nil,
|
|
58
|
+
# Filter by prop type (game_prop, team_prop, player_prop, other_prop)
|
|
59
|
+
prop_type: nil,
|
|
60
|
+
# A single sideID or comma-separated list of sideIDs to filter Markets by
|
|
61
|
+
side_id: nil,
|
|
62
|
+
# A single sportID or comma-separated list of sportIDs to filter Markets by
|
|
63
|
+
sport_id: nil,
|
|
64
|
+
# A single statEntityID or comma-separated list of statEntityIDs to filter Markets
|
|
65
|
+
# by
|
|
66
|
+
stat_entity_id: nil,
|
|
67
|
+
# A single statID or comma-separated list of statIDs to filter Markets by
|
|
68
|
+
stat_id: nil,
|
|
69
|
+
request_options: {}
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @api private
|
|
74
|
+
sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
|
|
75
|
+
def self.new(client:)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module SportsOddsAPI
|
|
4
4
|
module Resources
|
|
5
|
+
# Get Player-related data
|
|
5
6
|
class Players
|
|
6
7
|
# Get a list of Players for a specific Team or Event
|
|
7
8
|
sig do
|
|
@@ -17,8 +18,8 @@ module SportsOddsAPI
|
|
|
17
18
|
)
|
|
18
19
|
end
|
|
19
20
|
def get(
|
|
20
|
-
# The cursor for the request. Used to get the next group of Players. This
|
|
21
|
-
#
|
|
21
|
+
# The cursor for the request. Used to get the next group of Players. This is an
|
|
22
|
+
# opaque token — pass the nextCursor value from the prior response unchanged.
|
|
22
23
|
cursor: nil,
|
|
23
24
|
# EventID to get Players data for
|
|
24
25
|
event_id: nil,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module SportsOddsAPI
|
|
4
4
|
module Resources
|
|
5
|
+
# Get Team-related data
|
|
5
6
|
class Teams
|
|
6
7
|
# Get a list of Teams by ID or league
|
|
7
8
|
sig do
|
|
@@ -15,8 +16,8 @@ module SportsOddsAPI
|
|
|
15
16
|
).returns(SportsOddsAPI::Internal::NextCursorPage[SportsOddsAPI::Team])
|
|
16
17
|
end
|
|
17
18
|
def get(
|
|
18
|
-
# The cursor for the request. Used to get the next group of Teams. This
|
|
19
|
-
# the nextCursor from the prior response.
|
|
19
|
+
# The cursor for the request. Used to get the next group of Teams. This is an
|
|
20
|
+
# opaque token — pass the nextCursor value from the prior response unchanged.
|
|
20
21
|
cursor: nil,
|
|
21
22
|
# A single leagueID or comma-separated list of leagueIDs to get Teams for
|
|
22
23
|
league_id: nil,
|
|
@@ -45,8 +45,12 @@ module SportsOddsAPI
|
|
|
45
45
|
-> top?
|
|
46
46
|
} -> top?
|
|
47
47
|
|
|
48
|
+
RFC_3986_NOT_PCHARS: Regexp
|
|
49
|
+
|
|
48
50
|
def self?.uri_origin: (URI::Generic uri) -> String
|
|
49
51
|
|
|
52
|
+
def self?.encode_path: (String | Integer path) -> String
|
|
53
|
+
|
|
50
54
|
def self?.interpolate_path: (String | ::Array[String] path) -> String
|
|
51
55
|
|
|
52
56
|
def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
|
|
@@ -106,6 +110,16 @@ module SportsOddsAPI
|
|
|
106
110
|
JSON_CONTENT: Regexp
|
|
107
111
|
JSONL_CONTENT: Regexp
|
|
108
112
|
|
|
113
|
+
def encode_query_params: (
|
|
114
|
+
::Hash[Symbol, top] query
|
|
115
|
+
) -> ::Hash[Symbol, top]
|
|
116
|
+
|
|
117
|
+
private def write_query_param_element!: (
|
|
118
|
+
::Hash[Symbol, top] collection,
|
|
119
|
+
String key,
|
|
120
|
+
top element
|
|
121
|
+
) -> nil
|
|
122
|
+
|
|
109
123
|
def self?.write_multipart_content: (
|
|
110
124
|
Enumerator::Yielder y,
|
|
111
125
|
val: top,
|