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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +11 -1
  4. data/lib/sports_odds_api/client.rb +28 -1
  5. data/lib/sports_odds_api/internal/transport/base_client.rb +5 -0
  6. data/lib/sports_odds_api/internal/transport/pooled_net_requester.rb +13 -11
  7. data/lib/sports_odds_api/internal/util.rb +61 -10
  8. data/lib/sports_odds_api/models/event.rb +197 -4
  9. data/lib/sports_odds_api/models/event_get_params.rb +22 -4
  10. data/lib/sports_odds_api/models/market.rb +206 -0
  11. data/lib/sports_odds_api/models/market_get_params.rb +150 -0
  12. data/lib/sports_odds_api/models/player_get_params.rb +3 -3
  13. data/lib/sports_odds_api/models/team.rb +107 -2
  14. data/lib/sports_odds_api/models/team_get_params.rb +3 -3
  15. data/lib/sports_odds_api/models.rb +4 -0
  16. data/lib/sports_odds_api/resources/account.rb +1 -0
  17. data/lib/sports_odds_api/resources/events.rb +11 -3
  18. data/lib/sports_odds_api/resources/leagues.rb +3 -1
  19. data/lib/sports_odds_api/resources/markets.rb +87 -0
  20. data/lib/sports_odds_api/resources/players.rb +4 -2
  21. data/lib/sports_odds_api/resources/sports.rb +1 -0
  22. data/lib/sports_odds_api/resources/stats.rb +3 -1
  23. data/lib/sports_odds_api/resources/stream.rb +3 -1
  24. data/lib/sports_odds_api/resources/teams.rb +4 -2
  25. data/lib/sports_odds_api/version.rb +1 -1
  26. data/lib/sports_odds_api.rb +3 -0
  27. data/rbi/sports_odds_api/client.rbi +12 -0
  28. data/rbi/sports_odds_api/internal/util.rbi +29 -1
  29. data/rbi/sports_odds_api/models/event.rbi +387 -3
  30. data/rbi/sports_odds_api/models/event_get_params.rbi +30 -4
  31. data/rbi/sports_odds_api/models/market.rbi +326 -0
  32. data/rbi/sports_odds_api/models/market_get_params.rbi +224 -0
  33. data/rbi/sports_odds_api/models/player_get_params.rbi +4 -4
  34. data/rbi/sports_odds_api/models/team.rbi +186 -3
  35. data/rbi/sports_odds_api/models/team_get_params.rbi +4 -4
  36. data/rbi/sports_odds_api/models.rbi +4 -0
  37. data/rbi/sports_odds_api/resources/account.rbi +1 -0
  38. data/rbi/sports_odds_api/resources/events.rbi +11 -2
  39. data/rbi/sports_odds_api/resources/leagues.rbi +1 -0
  40. data/rbi/sports_odds_api/resources/markets.rbi +79 -0
  41. data/rbi/sports_odds_api/resources/players.rbi +3 -2
  42. data/rbi/sports_odds_api/resources/sports.rbi +1 -0
  43. data/rbi/sports_odds_api/resources/stats.rbi +1 -0
  44. data/rbi/sports_odds_api/resources/stream.rbi +1 -0
  45. data/rbi/sports_odds_api/resources/teams.rbi +3 -2
  46. data/sig/sports_odds_api/client.rbs +2 -0
  47. data/sig/sports_odds_api/internal/util.rbs +14 -0
  48. data/sig/sports_odds_api/models/event.rbs +246 -3
  49. data/sig/sports_odds_api/models/event_get_params.rbs +14 -0
  50. data/sig/sports_odds_api/models/market.rbs +186 -0
  51. data/sig/sports_odds_api/models/market_get_params.rbs +133 -0
  52. data/sig/sports_odds_api/models/team.rbs +130 -3
  53. data/sig/sports_odds_api/models.rbs +4 -0
  54. data/sig/sports_odds_api/resources/events.rbs +2 -0
  55. data/sig/sports_odds_api/resources/markets.rbs +27 -0
  56. metadata +39 -2
@@ -2,17 +2,24 @@ module SportsOddsAPI
2
2
  module Models
3
3
  type team =
4
4
  {
5
+ coach: SportsOddsAPI::Team::Coach,
5
6
  colors: SportsOddsAPI::Team::Colors,
6
7
  league_id: String,
7
8
  logo: String,
8
9
  lookups: SportsOddsAPI::Team::Lookups,
9
10
  names: SportsOddsAPI::Team::Names,
11
+ owner: SportsOddsAPI::Team::Owner,
10
12
  sport_id: String,
11
13
  standings: SportsOddsAPI::Team::Standings,
12
- team_id: String
14
+ team_id: String,
15
+ venue: SportsOddsAPI::Team::Venue
13
16
  }
14
17
 
15
18
  class Team < SportsOddsAPI::Internal::Type::BaseModel
19
+ attr_reader coach: SportsOddsAPI::Team::Coach?
20
+
21
+ def coach=: (SportsOddsAPI::Team::Coach) -> SportsOddsAPI::Team::Coach
22
+
16
23
  attr_reader colors: SportsOddsAPI::Team::Colors?
17
24
 
18
25
  def colors=: (SportsOddsAPI::Team::Colors) -> SportsOddsAPI::Team::Colors
@@ -35,6 +42,10 @@ module SportsOddsAPI
35
42
 
36
43
  def names=: (SportsOddsAPI::Team::Names) -> SportsOddsAPI::Team::Names
37
44
 
45
+ attr_reader owner: SportsOddsAPI::Team::Owner?
46
+
47
+ def owner=: (SportsOddsAPI::Team::Owner) -> SportsOddsAPI::Team::Owner
48
+
38
49
  attr_reader sport_id: String?
39
50
 
40
51
  def sport_id=: (String) -> String
@@ -49,28 +60,50 @@ module SportsOddsAPI
49
60
 
50
61
  def team_id=: (String) -> String
51
62
 
63
+ attr_reader venue: SportsOddsAPI::Team::Venue?
64
+
65
+ def venue=: (SportsOddsAPI::Team::Venue) -> SportsOddsAPI::Team::Venue
66
+
52
67
  def initialize: (
68
+ ?coach: SportsOddsAPI::Team::Coach,
53
69
  ?colors: SportsOddsAPI::Team::Colors,
54
70
  ?league_id: String,
55
71
  ?logo: String,
56
72
  ?lookups: SportsOddsAPI::Team::Lookups,
57
73
  ?names: SportsOddsAPI::Team::Names,
74
+ ?owner: SportsOddsAPI::Team::Owner,
58
75
  ?sport_id: String,
59
76
  ?standings: SportsOddsAPI::Team::Standings,
60
- ?team_id: String
77
+ ?team_id: String,
78
+ ?venue: SportsOddsAPI::Team::Venue
61
79
  ) -> void
62
80
 
63
81
  def to_hash: -> {
82
+ coach: SportsOddsAPI::Team::Coach,
64
83
  colors: SportsOddsAPI::Team::Colors,
65
84
  league_id: String,
66
85
  logo: String,
67
86
  lookups: SportsOddsAPI::Team::Lookups,
68
87
  names: SportsOddsAPI::Team::Names,
88
+ owner: SportsOddsAPI::Team::Owner,
69
89
  sport_id: String,
70
90
  standings: SportsOddsAPI::Team::Standings,
71
- team_id: String
91
+ team_id: String,
92
+ venue: SportsOddsAPI::Team::Venue
72
93
  }
73
94
 
95
+ type coach = { name: String }
96
+
97
+ class Coach < SportsOddsAPI::Internal::Type::BaseModel
98
+ attr_reader name: String?
99
+
100
+ def name=: (String) -> String
101
+
102
+ def initialize: (?name: String) -> void
103
+
104
+ def to_hash: -> { name: String }
105
+ end
106
+
74
107
  type colors =
75
108
  {
76
109
  primary: String,
@@ -143,17 +176,35 @@ module SportsOddsAPI
143
176
  def to_hash: -> { long: String, medium: String, short: String }
144
177
  end
145
178
 
179
+ type owner = { name: String }
180
+
181
+ class Owner < SportsOddsAPI::Internal::Type::BaseModel
182
+ attr_reader name: String?
183
+
184
+ def name=: (String) -> String
185
+
186
+ def initialize: (?name: String) -> void
187
+
188
+ def to_hash: -> { name: String }
189
+ end
190
+
146
191
  type standings =
147
192
  {
193
+ :last5 => String,
148
194
  losses: Float,
149
195
  played: Float,
150
196
  position: String,
151
197
  record: String,
198
+ streak: Float,
152
199
  ties: Float,
153
200
  wins: Float
154
201
  }
155
202
 
156
203
  class Standings < SportsOddsAPI::Internal::Type::BaseModel
204
+ attr_reader last5: String?
205
+
206
+ def last5=: (String) -> String
207
+
157
208
  attr_reader losses: Float?
158
209
 
159
210
  def losses=: (Float) -> Float
@@ -170,6 +221,10 @@ module SportsOddsAPI
170
221
 
171
222
  def record=: (String) -> String
172
223
 
224
+ attr_reader streak: Float?
225
+
226
+ def streak=: (Float) -> Float
227
+
173
228
  attr_reader ties: Float?
174
229
 
175
230
  def ties=: (Float) -> Float
@@ -179,23 +234,95 @@ module SportsOddsAPI
179
234
  def wins=: (Float) -> Float
180
235
 
181
236
  def initialize: (
237
+ ?last5: String,
182
238
  ?losses: Float,
183
239
  ?played: Float,
184
240
  ?position: String,
185
241
  ?record: String,
242
+ ?streak: Float,
186
243
  ?ties: Float,
187
244
  ?wins: Float
188
245
  ) -> void
189
246
 
190
247
  def to_hash: -> {
248
+ :last5 => String,
191
249
  losses: Float,
192
250
  played: Float,
193
251
  position: String,
194
252
  record: String,
253
+ streak: Float,
195
254
  ties: Float,
196
255
  wins: Float
197
256
  }
198
257
  end
258
+
259
+ type venue =
260
+ {
261
+ address: String,
262
+ capacity: Float,
263
+ city: String,
264
+ country_code: String,
265
+ country_name: String,
266
+ name: String,
267
+ region_code: String,
268
+ region_name: String
269
+ }
270
+
271
+ class Venue < SportsOddsAPI::Internal::Type::BaseModel
272
+ attr_reader address: String?
273
+
274
+ def address=: (String) -> String
275
+
276
+ attr_reader capacity: Float?
277
+
278
+ def capacity=: (Float) -> Float
279
+
280
+ attr_reader city: String?
281
+
282
+ def city=: (String) -> String
283
+
284
+ attr_reader country_code: String?
285
+
286
+ def country_code=: (String) -> String
287
+
288
+ attr_reader country_name: String?
289
+
290
+ def country_name=: (String) -> String
291
+
292
+ attr_reader name: String?
293
+
294
+ def name=: (String) -> String
295
+
296
+ attr_reader region_code: String?
297
+
298
+ def region_code=: (String) -> String
299
+
300
+ attr_reader region_name: String?
301
+
302
+ def region_name=: (String) -> String
303
+
304
+ def initialize: (
305
+ ?address: String,
306
+ ?capacity: Float,
307
+ ?city: String,
308
+ ?country_code: String,
309
+ ?country_name: String,
310
+ ?name: String,
311
+ ?region_code: String,
312
+ ?region_name: String
313
+ ) -> void
314
+
315
+ def to_hash: -> {
316
+ address: String,
317
+ capacity: Float,
318
+ city: String,
319
+ country_code: String,
320
+ country_name: String,
321
+ name: String,
322
+ region_code: String,
323
+ region_name: String
324
+ }
325
+ end
199
326
  end
200
327
  end
201
328
  end
@@ -11,6 +11,10 @@ module SportsOddsAPI
11
11
 
12
12
  class LeagueGetParams = SportsOddsAPI::Models::LeagueGetParams
13
13
 
14
+ class Market = SportsOddsAPI::Models::Market
15
+
16
+ class MarketGetParams = SportsOddsAPI::Models::MarketGetParams
17
+
14
18
  class Player = SportsOddsAPI::Models::Player
15
19
 
16
20
  class PlayerGetParams = SportsOddsAPI::Models::PlayerGetParams
@@ -8,8 +8,10 @@ module SportsOddsAPI
8
8
  ?ended: bool,
9
9
  ?event_id: String,
10
10
  ?event_ids: String,
11
+ ?expand_results: bool,
11
12
  ?finalized: bool,
12
13
  ?include_alt_lines: bool,
14
+ ?include_open_close_odds: bool,
13
15
  ?include_opposing_odds: bool,
14
16
  ?league_id: String,
15
17
  ?limit: Float,
@@ -0,0 +1,27 @@
1
+ module SportsOddsAPI
2
+ module Resources
3
+ class Markets
4
+ def get: (
5
+ ?bet_type_id: String,
6
+ ?bookmaker_id: String,
7
+ ?cursor: String,
8
+ ?is_main_market: bool,
9
+ ?is_prop: bool,
10
+ ?is_sub_period: bool,
11
+ ?is_supported: bool,
12
+ ?league_id: String,
13
+ ?limit: Float,
14
+ ?odd_id: String,
15
+ ?period_id: String,
16
+ ?prop_type: String,
17
+ ?side_id: String,
18
+ ?sport_id: String,
19
+ ?stat_entity_id: String,
20
+ ?stat_id: String,
21
+ ?request_options: SportsOddsAPI::request_opts
22
+ ) -> SportsOddsAPI::Internal::NextCursorPage[SportsOddsAPI::Market]
23
+
24
+ def initialize: (client: SportsOddsAPI::Client) -> void
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sports-odds-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sports Game Odds
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-16 00:00:00.000000000 Z
11
+ date: 2026-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: cgi
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: connection_pool
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -63,6 +91,8 @@ files:
63
91
  - lib/sports_odds_api/models/league.rb
64
92
  - lib/sports_odds_api/models/league_get_params.rb
65
93
  - lib/sports_odds_api/models/league_get_response.rb
94
+ - lib/sports_odds_api/models/market.rb
95
+ - lib/sports_odds_api/models/market_get_params.rb
66
96
  - lib/sports_odds_api/models/player.rb
67
97
  - lib/sports_odds_api/models/player_get_params.rb
68
98
  - lib/sports_odds_api/models/rate_limit_interval.rb
@@ -80,6 +110,7 @@ files:
80
110
  - lib/sports_odds_api/resources/account.rb
81
111
  - lib/sports_odds_api/resources/events.rb
82
112
  - lib/sports_odds_api/resources/leagues.rb
113
+ - lib/sports_odds_api/resources/markets.rb
83
114
  - lib/sports_odds_api/resources/players.rb
84
115
  - lib/sports_odds_api/resources/sports.rb
85
116
  - lib/sports_odds_api/resources/stats.rb
@@ -114,6 +145,8 @@ files:
114
145
  - rbi/sports_odds_api/models/league.rbi
115
146
  - rbi/sports_odds_api/models/league_get_params.rbi
116
147
  - rbi/sports_odds_api/models/league_get_response.rbi
148
+ - rbi/sports_odds_api/models/market.rbi
149
+ - rbi/sports_odds_api/models/market_get_params.rbi
117
150
  - rbi/sports_odds_api/models/player.rbi
118
151
  - rbi/sports_odds_api/models/player_get_params.rbi
119
152
  - rbi/sports_odds_api/models/rate_limit_interval.rbi
@@ -131,6 +164,7 @@ files:
131
164
  - rbi/sports_odds_api/resources/account.rbi
132
165
  - rbi/sports_odds_api/resources/events.rbi
133
166
  - rbi/sports_odds_api/resources/leagues.rbi
167
+ - rbi/sports_odds_api/resources/markets.rbi
134
168
  - rbi/sports_odds_api/resources/players.rbi
135
169
  - rbi/sports_odds_api/resources/sports.rbi
136
170
  - rbi/sports_odds_api/resources/stats.rbi
@@ -164,6 +198,8 @@ files:
164
198
  - sig/sports_odds_api/models/league.rbs
165
199
  - sig/sports_odds_api/models/league_get_params.rbs
166
200
  - sig/sports_odds_api/models/league_get_response.rbs
201
+ - sig/sports_odds_api/models/market.rbs
202
+ - sig/sports_odds_api/models/market_get_params.rbs
167
203
  - sig/sports_odds_api/models/player.rbs
168
204
  - sig/sports_odds_api/models/player_get_params.rbs
169
205
  - sig/sports_odds_api/models/rate_limit_interval.rbs
@@ -181,6 +217,7 @@ files:
181
217
  - sig/sports_odds_api/resources/account.rbs
182
218
  - sig/sports_odds_api/resources/events.rbs
183
219
  - sig/sports_odds_api/resources/leagues.rbs
220
+ - sig/sports_odds_api/resources/markets.rbs
184
221
  - sig/sports_odds_api/resources/players.rbs
185
222
  - sig/sports_odds_api/resources/sports.rbs
186
223
  - sig/sports_odds_api/resources/stats.rbs