sports-odds-api 1.0.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 (158) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +186 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/sports_odds_api/client.rb +112 -0
  7. data/lib/sports_odds_api/errors.rb +228 -0
  8. data/lib/sports_odds_api/file_part.rb +55 -0
  9. data/lib/sports_odds_api/internal/next_cursor_page.rb +86 -0
  10. data/lib/sports_odds_api/internal/transport/base_client.rb +580 -0
  11. data/lib/sports_odds_api/internal/transport/pooled_net_requester.rb +201 -0
  12. data/lib/sports_odds_api/internal/type/array_of.rb +168 -0
  13. data/lib/sports_odds_api/internal/type/base_model.rb +534 -0
  14. data/lib/sports_odds_api/internal/type/base_page.rb +55 -0
  15. data/lib/sports_odds_api/internal/type/boolean.rb +77 -0
  16. data/lib/sports_odds_api/internal/type/converter.rb +327 -0
  17. data/lib/sports_odds_api/internal/type/enum.rb +131 -0
  18. data/lib/sports_odds_api/internal/type/file_input.rb +108 -0
  19. data/lib/sports_odds_api/internal/type/hash_of.rb +188 -0
  20. data/lib/sports_odds_api/internal/type/request_parameters.rb +42 -0
  21. data/lib/sports_odds_api/internal/type/union.rb +243 -0
  22. data/lib/sports_odds_api/internal/type/unknown.rb +81 -0
  23. data/lib/sports_odds_api/internal/util.rb +914 -0
  24. data/lib/sports_odds_api/internal.rb +20 -0
  25. data/lib/sports_odds_api/models/account_get_usage_params.rb +14 -0
  26. data/lib/sports_odds_api/models/account_usage.rb +91 -0
  27. data/lib/sports_odds_api/models/event.rb +686 -0
  28. data/lib/sports_odds_api/models/event_get_params.rb +195 -0
  29. data/lib/sports_odds_api/models/league.rb +39 -0
  30. data/lib/sports_odds_api/models/league_get_params.rb +30 -0
  31. data/lib/sports_odds_api/models/league_get_response.rb +8 -0
  32. data/lib/sports_odds_api/models/player.rb +128 -0
  33. data/lib/sports_odds_api/models/player_get_params.rb +58 -0
  34. data/lib/sports_odds_api/models/rate_limit_interval.rb +92 -0
  35. data/lib/sports_odds_api/models/sport.rb +197 -0
  36. data/lib/sports_odds_api/models/sport_get_params.rb +14 -0
  37. data/lib/sports_odds_api/models/sport_get_response.rb +8 -0
  38. data/lib/sports_odds_api/models/stat.rb +144 -0
  39. data/lib/sports_odds_api/models/stat_get_params.rb +43 -0
  40. data/lib/sports_odds_api/models/stat_get_response.rb +8 -0
  41. data/lib/sports_odds_api/models/stream_events_params.rb +38 -0
  42. data/lib/sports_odds_api/models/stream_events_response.rb +120 -0
  43. data/lib/sports_odds_api/models/team.rb +162 -0
  44. data/lib/sports_odds_api/models/team_get_params.rb +58 -0
  45. data/lib/sports_odds_api/models.rb +76 -0
  46. data/lib/sports_odds_api/request_options.rb +78 -0
  47. data/lib/sports_odds_api/resources/account.rb +33 -0
  48. data/lib/sports_odds_api/resources/events.rb +94 -0
  49. data/lib/sports_odds_api/resources/leagues.rb +39 -0
  50. data/lib/sports_odds_api/resources/players.rb +48 -0
  51. data/lib/sports_odds_api/resources/sports.rb +33 -0
  52. data/lib/sports_odds_api/resources/stats.rb +44 -0
  53. data/lib/sports_odds_api/resources/stream.rb +40 -0
  54. data/lib/sports_odds_api/resources/teams.rb +48 -0
  55. data/lib/sports_odds_api/version.rb +5 -0
  56. data/lib/sports_odds_api.rb +82 -0
  57. data/manifest.yaml +15 -0
  58. data/rbi/sports_odds_api/client.rbi +83 -0
  59. data/rbi/sports_odds_api/errors.rbi +205 -0
  60. data/rbi/sports_odds_api/file_part.rbi +37 -0
  61. data/rbi/sports_odds_api/internal/next_cursor_page.rbi +22 -0
  62. data/rbi/sports_odds_api/internal/transport/base_client.rbi +305 -0
  63. data/rbi/sports_odds_api/internal/transport/pooled_net_requester.rbi +80 -0
  64. data/rbi/sports_odds_api/internal/type/array_of.rbi +104 -0
  65. data/rbi/sports_odds_api/internal/type/base_model.rbi +310 -0
  66. data/rbi/sports_odds_api/internal/type/base_page.rbi +43 -0
  67. data/rbi/sports_odds_api/internal/type/boolean.rbi +58 -0
  68. data/rbi/sports_odds_api/internal/type/converter.rbi +225 -0
  69. data/rbi/sports_odds_api/internal/type/enum.rbi +82 -0
  70. data/rbi/sports_odds_api/internal/type/file_input.rbi +59 -0
  71. data/rbi/sports_odds_api/internal/type/hash_of.rbi +104 -0
  72. data/rbi/sports_odds_api/internal/type/request_parameters.rbi +31 -0
  73. data/rbi/sports_odds_api/internal/type/union.rbi +128 -0
  74. data/rbi/sports_odds_api/internal/type/unknown.rbi +58 -0
  75. data/rbi/sports_odds_api/internal/util.rbi +487 -0
  76. data/rbi/sports_odds_api/internal.rbi +18 -0
  77. data/rbi/sports_odds_api/models/account_get_usage_params.rbi +32 -0
  78. data/rbi/sports_odds_api/models/account_usage.rbi +173 -0
  79. data/rbi/sports_odds_api/models/event.rbi +1269 -0
  80. data/rbi/sports_odds_api/models/event_get_params.rbi +286 -0
  81. data/rbi/sports_odds_api/models/league.rbi +74 -0
  82. data/rbi/sports_odds_api/models/league_get_params.rbi +60 -0
  83. data/rbi/sports_odds_api/models/league_get_response.rbi +11 -0
  84. data/rbi/sports_odds_api/models/player.rbi +247 -0
  85. data/rbi/sports_odds_api/models/player_get_params.rbi +95 -0
  86. data/rbi/sports_odds_api/models/rate_limit_interval.rbi +176 -0
  87. data/rbi/sports_odds_api/models/sport.rbi +371 -0
  88. data/rbi/sports_odds_api/models/sport_get_params.rbi +29 -0
  89. data/rbi/sports_odds_api/models/sport_get_response.rbi +11 -0
  90. data/rbi/sports_odds_api/models/stat.rbi +273 -0
  91. data/rbi/sports_odds_api/models/stat_get_params.rbi +72 -0
  92. data/rbi/sports_odds_api/models/stat_get_response.rbi +11 -0
  93. data/rbi/sports_odds_api/models/stream_events_params.rbi +71 -0
  94. data/rbi/sports_odds_api/models/stream_events_response.rbi +247 -0
  95. data/rbi/sports_odds_api/models/team.rbi +305 -0
  96. data/rbi/sports_odds_api/models/team_get_params.rbi +92 -0
  97. data/rbi/sports_odds_api/models.rbi +35 -0
  98. data/rbi/sports_odds_api/request_options.rbi +59 -0
  99. data/rbi/sports_odds_api/resources/account.rbi +21 -0
  100. data/rbi/sports_odds_api/resources/events.rbi +96 -0
  101. data/rbi/sports_odds_api/resources/leagues.rbi +29 -0
  102. data/rbi/sports_odds_api/resources/players.rbi +41 -0
  103. data/rbi/sports_odds_api/resources/sports.rbi +21 -0
  104. data/rbi/sports_odds_api/resources/stats.rbi +34 -0
  105. data/rbi/sports_odds_api/resources/stream.rbi +32 -0
  106. data/rbi/sports_odds_api/resources/teams.rbi +39 -0
  107. data/rbi/sports_odds_api/version.rbi +5 -0
  108. data/sig/sports_odds_api/client.rbs +45 -0
  109. data/sig/sports_odds_api/errors.rbs +117 -0
  110. data/sig/sports_odds_api/file_part.rbs +21 -0
  111. data/sig/sports_odds_api/internal/next_cursor_page.rbs +13 -0
  112. data/sig/sports_odds_api/internal/transport/base_client.rbs +133 -0
  113. data/sig/sports_odds_api/internal/transport/pooled_net_requester.rbs +45 -0
  114. data/sig/sports_odds_api/internal/type/array_of.rbs +48 -0
  115. data/sig/sports_odds_api/internal/type/base_model.rbs +104 -0
  116. data/sig/sports_odds_api/internal/type/base_page.rbs +24 -0
  117. data/sig/sports_odds_api/internal/type/boolean.rbs +26 -0
  118. data/sig/sports_odds_api/internal/type/converter.rbs +79 -0
  119. data/sig/sports_odds_api/internal/type/enum.rbs +32 -0
  120. data/sig/sports_odds_api/internal/type/file_input.rbs +25 -0
  121. data/sig/sports_odds_api/internal/type/hash_of.rbs +48 -0
  122. data/sig/sports_odds_api/internal/type/request_parameters.rbs +19 -0
  123. data/sig/sports_odds_api/internal/type/union.rbs +52 -0
  124. data/sig/sports_odds_api/internal/type/unknown.rbs +26 -0
  125. data/sig/sports_odds_api/internal/util.rbs +185 -0
  126. data/sig/sports_odds_api/internal.rbs +10 -0
  127. data/sig/sports_odds_api/models/account_get_usage_params.rbs +15 -0
  128. data/sig/sports_odds_api/models/account_usage.rbs +116 -0
  129. data/sig/sports_odds_api/models/event.rbs +860 -0
  130. data/sig/sports_odds_api/models/event_get_params.rbs +168 -0
  131. data/sig/sports_odds_api/models/league.rbs +50 -0
  132. data/sig/sports_odds_api/models/league_get_params.rbs +32 -0
  133. data/sig/sports_odds_api/models/league_get_response.rbs +7 -0
  134. data/sig/sports_odds_api/models/player.rbs +162 -0
  135. data/sig/sports_odds_api/models/player_get_params.rbs +56 -0
  136. data/sig/sports_odds_api/models/rate_limit_interval.rbs +67 -0
  137. data/sig/sports_odds_api/models/sport.rbs +241 -0
  138. data/sig/sports_odds_api/models/sport_get_params.rbs +15 -0
  139. data/sig/sports_odds_api/models/sport_get_response.rbs +7 -0
  140. data/sig/sports_odds_api/models/stat.rbs +166 -0
  141. data/sig/sports_odds_api/models/stat_get_params.rbs +38 -0
  142. data/sig/sports_odds_api/models/stat_get_response.rbs +7 -0
  143. data/sig/sports_odds_api/models/stream_events_params.rbs +38 -0
  144. data/sig/sports_odds_api/models/stream_events_response.rbs +151 -0
  145. data/sig/sports_odds_api/models/team.rbs +201 -0
  146. data/sig/sports_odds_api/models/team_get_params.rbs +56 -0
  147. data/sig/sports_odds_api/models.rbs +33 -0
  148. data/sig/sports_odds_api/request_options.rbs +36 -0
  149. data/sig/sports_odds_api/resources/account.rbs +11 -0
  150. data/sig/sports_odds_api/resources/events.rbs +32 -0
  151. data/sig/sports_odds_api/resources/leagues.rbs +13 -0
  152. data/sig/sports_odds_api/resources/players.rbs +16 -0
  153. data/sig/sports_odds_api/resources/sports.rbs +11 -0
  154. data/sig/sports_odds_api/resources/stats.rbs +14 -0
  155. data/sig/sports_odds_api/resources/stream.rbs +14 -0
  156. data/sig/sports_odds_api/resources/teams.rbs +16 -0
  157. data/sig/sports_odds_api/version.rbs +3 -0
  158. metadata +215 -0
@@ -0,0 +1,1269 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Event < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::Event, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(SportsOddsAPI::Event::Activity)) }
12
+ attr_reader :activity
13
+
14
+ sig { params(activity: SportsOddsAPI::Event::Activity::OrHash).void }
15
+ attr_writer :activity
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :event_id
19
+
20
+ sig { params(event_id: String).void }
21
+ attr_writer :event_id
22
+
23
+ sig { returns(T.nilable(SportsOddsAPI::Event::Info)) }
24
+ attr_reader :info
25
+
26
+ sig { params(info: SportsOddsAPI::Event::Info::OrHash).void }
27
+ attr_writer :info
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :league_id
31
+
32
+ sig { params(league_id: String).void }
33
+ attr_writer :league_id
34
+
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :manual
37
+
38
+ sig { params(manual: T::Boolean).void }
39
+ attr_writer :manual
40
+
41
+ sig { returns(T.nilable(T::Hash[Symbol, SportsOddsAPI::Event::Odd])) }
42
+ attr_reader :odds
43
+
44
+ sig do
45
+ params(odds: T::Hash[Symbol, SportsOddsAPI::Event::Odd::OrHash]).void
46
+ end
47
+ attr_writer :odds
48
+
49
+ sig { returns(T.nilable(T::Hash[Symbol, SportsOddsAPI::Event::Player])) }
50
+ attr_reader :players
51
+
52
+ sig do
53
+ params(
54
+ players: T::Hash[Symbol, SportsOddsAPI::Event::Player::OrHash]
55
+ ).void
56
+ end
57
+ attr_writer :players
58
+
59
+ # Nested results in the format `<periodID>.<statEntityID>.<statID> → number`.
60
+ sig do
61
+ returns(
62
+ T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Float]]])
63
+ )
64
+ end
65
+ attr_reader :results
66
+
67
+ sig do
68
+ params(
69
+ results: T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Float]]]
70
+ ).void
71
+ end
72
+ attr_writer :results
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_reader :sport_id
76
+
77
+ sig { params(sport_id: String).void }
78
+ attr_writer :sport_id
79
+
80
+ sig { returns(T.nilable(SportsOddsAPI::Event::Status)) }
81
+ attr_reader :status
82
+
83
+ sig { params(status: SportsOddsAPI::Event::Status::OrHash).void }
84
+ attr_writer :status
85
+
86
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams)) }
87
+ attr_reader :teams
88
+
89
+ sig { params(teams: SportsOddsAPI::Event::Teams::OrHash).void }
90
+ attr_writer :teams
91
+
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :type
94
+
95
+ sig { params(type: String).void }
96
+ attr_writer :type
97
+
98
+ sig do
99
+ params(
100
+ activity: SportsOddsAPI::Event::Activity::OrHash,
101
+ event_id: String,
102
+ info: SportsOddsAPI::Event::Info::OrHash,
103
+ league_id: String,
104
+ manual: T::Boolean,
105
+ odds: T::Hash[Symbol, SportsOddsAPI::Event::Odd::OrHash],
106
+ players: T::Hash[Symbol, SportsOddsAPI::Event::Player::OrHash],
107
+ results: T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Float]]],
108
+ sport_id: String,
109
+ status: SportsOddsAPI::Event::Status::OrHash,
110
+ teams: SportsOddsAPI::Event::Teams::OrHash,
111
+ type: String
112
+ ).returns(T.attached_class)
113
+ end
114
+ def self.new(
115
+ activity: nil,
116
+ event_id: nil,
117
+ info: nil,
118
+ league_id: nil,
119
+ manual: nil,
120
+ odds: nil,
121
+ players: nil,
122
+ # Nested results in the format `<periodID>.<statEntityID>.<statID> → number`.
123
+ results: nil,
124
+ sport_id: nil,
125
+ status: nil,
126
+ teams: nil,
127
+ type: nil
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ activity: SportsOddsAPI::Event::Activity,
135
+ event_id: String,
136
+ info: SportsOddsAPI::Event::Info,
137
+ league_id: String,
138
+ manual: T::Boolean,
139
+ odds: T::Hash[Symbol, SportsOddsAPI::Event::Odd],
140
+ players: T::Hash[Symbol, SportsOddsAPI::Event::Player],
141
+ results: T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Float]]],
142
+ sport_id: String,
143
+ status: SportsOddsAPI::Event::Status,
144
+ teams: SportsOddsAPI::Event::Teams,
145
+ type: String
146
+ }
147
+ )
148
+ end
149
+ def to_hash
150
+ end
151
+
152
+ class Activity < SportsOddsAPI::Internal::Type::BaseModel
153
+ OrHash =
154
+ T.type_alias do
155
+ T.any(
156
+ SportsOddsAPI::Event::Activity,
157
+ SportsOddsAPI::Internal::AnyHash
158
+ )
159
+ end
160
+
161
+ sig { returns(T.nilable(Float)) }
162
+ attr_reader :count
163
+
164
+ sig { params(count: Float).void }
165
+ attr_writer :count
166
+
167
+ sig { returns(T.nilable(Float)) }
168
+ attr_reader :score
169
+
170
+ sig { params(score: Float).void }
171
+ attr_writer :score
172
+
173
+ sig { params(count: Float, score: Float).returns(T.attached_class) }
174
+ def self.new(count: nil, score: nil)
175
+ end
176
+
177
+ sig { override.returns({ count: Float, score: Float }) }
178
+ def to_hash
179
+ end
180
+ end
181
+
182
+ class Info < SportsOddsAPI::Internal::Type::BaseModel
183
+ OrHash =
184
+ T.type_alias do
185
+ T.any(SportsOddsAPI::Event::Info, SportsOddsAPI::Internal::AnyHash)
186
+ end
187
+
188
+ sig { returns(T.nilable(String)) }
189
+ attr_reader :season_week
190
+
191
+ sig { params(season_week: String).void }
192
+ attr_writer :season_week
193
+
194
+ sig { params(season_week: String).returns(T.attached_class) }
195
+ def self.new(season_week: nil)
196
+ end
197
+
198
+ sig { override.returns({ season_week: String }) }
199
+ def to_hash
200
+ end
201
+ end
202
+
203
+ class Odd < SportsOddsAPI::Internal::Type::BaseModel
204
+ OrHash =
205
+ T.type_alias do
206
+ T.any(SportsOddsAPI::Event::Odd, SportsOddsAPI::Internal::AnyHash)
207
+ end
208
+
209
+ sig { returns(T.nilable(String)) }
210
+ attr_reader :bet_type_id
211
+
212
+ sig { params(bet_type_id: String).void }
213
+ attr_writer :bet_type_id
214
+
215
+ sig { returns(T.nilable(String)) }
216
+ attr_reader :book_odds
217
+
218
+ sig { params(book_odds: String).void }
219
+ attr_writer :book_odds
220
+
221
+ sig { returns(T.nilable(T::Boolean)) }
222
+ attr_reader :book_odds_available
223
+
224
+ sig { params(book_odds_available: T::Boolean).void }
225
+ attr_writer :book_odds_available
226
+
227
+ sig { returns(T.nilable(String)) }
228
+ attr_reader :book_over_under
229
+
230
+ sig { params(book_over_under: String).void }
231
+ attr_writer :book_over_under
232
+
233
+ sig { returns(T.nilable(String)) }
234
+ attr_reader :book_spread
235
+
236
+ sig { params(book_spread: String).void }
237
+ attr_writer :book_spread
238
+
239
+ sig do
240
+ returns(
241
+ T.nilable(T::Hash[Symbol, SportsOddsAPI::Event::Odd::ByBookmaker])
242
+ )
243
+ end
244
+ attr_reader :by_bookmaker
245
+
246
+ sig do
247
+ params(
248
+ by_bookmaker:
249
+ T::Hash[Symbol, SportsOddsAPI::Event::Odd::ByBookmaker::OrHash]
250
+ ).void
251
+ end
252
+ attr_writer :by_bookmaker
253
+
254
+ sig { returns(T.nilable(T::Boolean)) }
255
+ attr_reader :cancelled
256
+
257
+ sig { params(cancelled: T::Boolean).void }
258
+ attr_writer :cancelled
259
+
260
+ sig { returns(T.nilable(T::Boolean)) }
261
+ attr_reader :ended
262
+
263
+ sig { params(ended: T::Boolean).void }
264
+ attr_writer :ended
265
+
266
+ sig { returns(T.nilable(String)) }
267
+ attr_reader :fair_odds
268
+
269
+ sig { params(fair_odds: String).void }
270
+ attr_writer :fair_odds
271
+
272
+ sig { returns(T.nilable(T::Boolean)) }
273
+ attr_reader :fair_odds_available
274
+
275
+ sig { params(fair_odds_available: T::Boolean).void }
276
+ attr_writer :fair_odds_available
277
+
278
+ sig { returns(T.nilable(String)) }
279
+ attr_reader :fair_over_under
280
+
281
+ sig { params(fair_over_under: String).void }
282
+ attr_writer :fair_over_under
283
+
284
+ sig { returns(T.nilable(String)) }
285
+ attr_reader :fair_spread
286
+
287
+ sig { params(fair_spread: String).void }
288
+ attr_writer :fair_spread
289
+
290
+ sig { returns(T.nilable(String)) }
291
+ attr_reader :market_name
292
+
293
+ sig { params(market_name: String).void }
294
+ attr_writer :market_name
295
+
296
+ sig { returns(T.nilable(String)) }
297
+ attr_reader :odd_id
298
+
299
+ sig { params(odd_id: String).void }
300
+ attr_writer :odd_id
301
+
302
+ sig { returns(T.nilable(String)) }
303
+ attr_reader :opposing_odd_id
304
+
305
+ sig { params(opposing_odd_id: String).void }
306
+ attr_writer :opposing_odd_id
307
+
308
+ sig { returns(T.nilable(String)) }
309
+ attr_reader :period_id
310
+
311
+ sig { params(period_id: String).void }
312
+ attr_writer :period_id
313
+
314
+ sig { returns(T.nilable(String)) }
315
+ attr_reader :player_id
316
+
317
+ sig { params(player_id: String).void }
318
+ attr_writer :player_id
319
+
320
+ sig { returns(T.nilable(Float)) }
321
+ attr_reader :score
322
+
323
+ sig { params(score: Float).void }
324
+ attr_writer :score
325
+
326
+ sig { returns(T.nilable(T::Boolean)) }
327
+ attr_reader :scoring_supported
328
+
329
+ sig { params(scoring_supported: T::Boolean).void }
330
+ attr_writer :scoring_supported
331
+
332
+ sig { returns(T.nilable(String)) }
333
+ attr_reader :side_id
334
+
335
+ sig { params(side_id: String).void }
336
+ attr_writer :side_id
337
+
338
+ sig { returns(T.nilable(T::Boolean)) }
339
+ attr_reader :started
340
+
341
+ sig { params(started: T::Boolean).void }
342
+ attr_writer :started
343
+
344
+ sig { returns(T.nilable(String)) }
345
+ attr_reader :stat_entity_id
346
+
347
+ sig { params(stat_entity_id: String).void }
348
+ attr_writer :stat_entity_id
349
+
350
+ sig { returns(T.nilable(String)) }
351
+ attr_reader :stat_id
352
+
353
+ sig { params(stat_id: String).void }
354
+ attr_writer :stat_id
355
+
356
+ sig do
357
+ params(
358
+ bet_type_id: String,
359
+ book_odds: String,
360
+ book_odds_available: T::Boolean,
361
+ book_over_under: String,
362
+ book_spread: String,
363
+ by_bookmaker:
364
+ T::Hash[Symbol, SportsOddsAPI::Event::Odd::ByBookmaker::OrHash],
365
+ cancelled: T::Boolean,
366
+ ended: T::Boolean,
367
+ fair_odds: String,
368
+ fair_odds_available: T::Boolean,
369
+ fair_over_under: String,
370
+ fair_spread: String,
371
+ market_name: String,
372
+ odd_id: String,
373
+ opposing_odd_id: String,
374
+ period_id: String,
375
+ player_id: String,
376
+ score: Float,
377
+ scoring_supported: T::Boolean,
378
+ side_id: String,
379
+ started: T::Boolean,
380
+ stat_entity_id: String,
381
+ stat_id: String
382
+ ).returns(T.attached_class)
383
+ end
384
+ def self.new(
385
+ bet_type_id: nil,
386
+ book_odds: nil,
387
+ book_odds_available: nil,
388
+ book_over_under: nil,
389
+ book_spread: nil,
390
+ by_bookmaker: nil,
391
+ cancelled: nil,
392
+ ended: nil,
393
+ fair_odds: nil,
394
+ fair_odds_available: nil,
395
+ fair_over_under: nil,
396
+ fair_spread: nil,
397
+ market_name: nil,
398
+ odd_id: nil,
399
+ opposing_odd_id: nil,
400
+ period_id: nil,
401
+ player_id: nil,
402
+ score: nil,
403
+ scoring_supported: nil,
404
+ side_id: nil,
405
+ started: nil,
406
+ stat_entity_id: nil,
407
+ stat_id: nil
408
+ )
409
+ end
410
+
411
+ sig do
412
+ override.returns(
413
+ {
414
+ bet_type_id: String,
415
+ book_odds: String,
416
+ book_odds_available: T::Boolean,
417
+ book_over_under: String,
418
+ book_spread: String,
419
+ by_bookmaker:
420
+ T::Hash[Symbol, SportsOddsAPI::Event::Odd::ByBookmaker],
421
+ cancelled: T::Boolean,
422
+ ended: T::Boolean,
423
+ fair_odds: String,
424
+ fair_odds_available: T::Boolean,
425
+ fair_over_under: String,
426
+ fair_spread: String,
427
+ market_name: String,
428
+ odd_id: String,
429
+ opposing_odd_id: String,
430
+ period_id: String,
431
+ player_id: String,
432
+ score: Float,
433
+ scoring_supported: T::Boolean,
434
+ side_id: String,
435
+ started: T::Boolean,
436
+ stat_entity_id: String,
437
+ stat_id: String
438
+ }
439
+ )
440
+ end
441
+ def to_hash
442
+ end
443
+
444
+ class ByBookmaker < SportsOddsAPI::Internal::Type::BaseModel
445
+ OrHash =
446
+ T.type_alias do
447
+ T.any(
448
+ SportsOddsAPI::Event::Odd::ByBookmaker,
449
+ SportsOddsAPI::Internal::AnyHash
450
+ )
451
+ end
452
+
453
+ sig { returns(T.nilable(T::Boolean)) }
454
+ attr_reader :available
455
+
456
+ sig { params(available: T::Boolean).void }
457
+ attr_writer :available
458
+
459
+ sig { returns(T.nilable(String)) }
460
+ attr_reader :bookmaker_id
461
+
462
+ sig { params(bookmaker_id: String).void }
463
+ attr_writer :bookmaker_id
464
+
465
+ sig { returns(T.nilable(T::Boolean)) }
466
+ attr_reader :is_main_line
467
+
468
+ sig { params(is_main_line: T::Boolean).void }
469
+ attr_writer :is_main_line
470
+
471
+ sig { returns(T.nilable(Time)) }
472
+ attr_reader :last_updated_at
473
+
474
+ sig { params(last_updated_at: Time).void }
475
+ attr_writer :last_updated_at
476
+
477
+ sig { returns(T.nilable(String)) }
478
+ attr_reader :odds
479
+
480
+ sig { params(odds: String).void }
481
+ attr_writer :odds
482
+
483
+ sig { returns(T.nilable(String)) }
484
+ attr_reader :over_under
485
+
486
+ sig { params(over_under: String).void }
487
+ attr_writer :over_under
488
+
489
+ sig { returns(T.nilable(String)) }
490
+ attr_reader :spread
491
+
492
+ sig { params(spread: String).void }
493
+ attr_writer :spread
494
+
495
+ sig do
496
+ params(
497
+ available: T::Boolean,
498
+ bookmaker_id: String,
499
+ is_main_line: T::Boolean,
500
+ last_updated_at: Time,
501
+ odds: String,
502
+ over_under: String,
503
+ spread: String
504
+ ).returns(T.attached_class)
505
+ end
506
+ def self.new(
507
+ available: nil,
508
+ bookmaker_id: nil,
509
+ is_main_line: nil,
510
+ last_updated_at: nil,
511
+ odds: nil,
512
+ over_under: nil,
513
+ spread: nil
514
+ )
515
+ end
516
+
517
+ sig do
518
+ override.returns(
519
+ {
520
+ available: T::Boolean,
521
+ bookmaker_id: String,
522
+ is_main_line: T::Boolean,
523
+ last_updated_at: Time,
524
+ odds: String,
525
+ over_under: String,
526
+ spread: String
527
+ }
528
+ )
529
+ end
530
+ def to_hash
531
+ end
532
+ end
533
+ end
534
+
535
+ class Player < SportsOddsAPI::Internal::Type::BaseModel
536
+ OrHash =
537
+ T.type_alias do
538
+ T.any(
539
+ SportsOddsAPI::Event::Player,
540
+ SportsOddsAPI::Internal::AnyHash
541
+ )
542
+ end
543
+
544
+ sig { returns(T.nilable(String)) }
545
+ attr_reader :alias_
546
+
547
+ sig { params(alias_: String).void }
548
+ attr_writer :alias_
549
+
550
+ sig { returns(T.nilable(String)) }
551
+ attr_reader :first_name
552
+
553
+ sig { params(first_name: String).void }
554
+ attr_writer :first_name
555
+
556
+ sig { returns(T.nilable(String)) }
557
+ attr_reader :last_name
558
+
559
+ sig { params(last_name: String).void }
560
+ attr_writer :last_name
561
+
562
+ sig { returns(T.nilable(String)) }
563
+ attr_reader :name
564
+
565
+ sig { params(name: String).void }
566
+ attr_writer :name
567
+
568
+ sig { returns(T.nilable(String)) }
569
+ attr_reader :photo
570
+
571
+ sig { params(photo: String).void }
572
+ attr_writer :photo
573
+
574
+ sig { returns(T.nilable(String)) }
575
+ attr_reader :player_id
576
+
577
+ sig { params(player_id: String).void }
578
+ attr_writer :player_id
579
+
580
+ sig { returns(T.nilable(String)) }
581
+ attr_reader :team_id
582
+
583
+ sig { params(team_id: String).void }
584
+ attr_writer :team_id
585
+
586
+ sig do
587
+ params(
588
+ alias_: String,
589
+ first_name: String,
590
+ last_name: String,
591
+ name: String,
592
+ photo: String,
593
+ player_id: String,
594
+ team_id: String
595
+ ).returns(T.attached_class)
596
+ end
597
+ def self.new(
598
+ alias_: nil,
599
+ first_name: nil,
600
+ last_name: nil,
601
+ name: nil,
602
+ photo: nil,
603
+ player_id: nil,
604
+ team_id: nil
605
+ )
606
+ end
607
+
608
+ sig do
609
+ override.returns(
610
+ {
611
+ alias_: String,
612
+ first_name: String,
613
+ last_name: String,
614
+ name: String,
615
+ photo: String,
616
+ player_id: String,
617
+ team_id: String
618
+ }
619
+ )
620
+ end
621
+ def to_hash
622
+ end
623
+ end
624
+
625
+ class Status < SportsOddsAPI::Internal::Type::BaseModel
626
+ OrHash =
627
+ T.type_alias do
628
+ T.any(
629
+ SportsOddsAPI::Event::Status,
630
+ SportsOddsAPI::Internal::AnyHash
631
+ )
632
+ end
633
+
634
+ sig { returns(T.nilable(T::Boolean)) }
635
+ attr_reader :cancelled
636
+
637
+ sig { params(cancelled: T::Boolean).void }
638
+ attr_writer :cancelled
639
+
640
+ sig { returns(T.nilable(T::Boolean)) }
641
+ attr_reader :completed
642
+
643
+ sig { params(completed: T::Boolean).void }
644
+ attr_writer :completed
645
+
646
+ sig { returns(T.nilable(String)) }
647
+ attr_reader :current_period_id
648
+
649
+ sig { params(current_period_id: String).void }
650
+ attr_writer :current_period_id
651
+
652
+ sig { returns(T.nilable(T::Boolean)) }
653
+ attr_reader :delayed
654
+
655
+ sig { params(delayed: T::Boolean).void }
656
+ attr_writer :delayed
657
+
658
+ sig { returns(T.nilable(String)) }
659
+ attr_reader :display_long
660
+
661
+ sig { params(display_long: String).void }
662
+ attr_writer :display_long
663
+
664
+ sig { returns(T.nilable(String)) }
665
+ attr_reader :display_short
666
+
667
+ sig { params(display_short: String).void }
668
+ attr_writer :display_short
669
+
670
+ sig { returns(T.nilable(T::Boolean)) }
671
+ attr_reader :ended
672
+
673
+ sig { params(ended: T::Boolean).void }
674
+ attr_writer :ended
675
+
676
+ sig { returns(T.nilable(T::Boolean)) }
677
+ attr_reader :finalized
678
+
679
+ sig { params(finalized: T::Boolean).void }
680
+ attr_writer :finalized
681
+
682
+ sig { returns(T.nilable(T::Boolean)) }
683
+ attr_reader :hard_start
684
+
685
+ sig { params(hard_start: T::Boolean).void }
686
+ attr_writer :hard_start
687
+
688
+ sig { returns(T.nilable(T::Boolean)) }
689
+ attr_reader :live
690
+
691
+ sig { params(live: T::Boolean).void }
692
+ attr_writer :live
693
+
694
+ sig { returns(T.nilable(T::Boolean)) }
695
+ attr_reader :odds_available
696
+
697
+ sig { params(odds_available: T::Boolean).void }
698
+ attr_writer :odds_available
699
+
700
+ sig { returns(T.nilable(T::Boolean)) }
701
+ attr_reader :odds_present
702
+
703
+ sig { params(odds_present: T::Boolean).void }
704
+ attr_writer :odds_present
705
+
706
+ sig { returns(T.nilable(SportsOddsAPI::Event::Status::Periods)) }
707
+ attr_reader :periods
708
+
709
+ sig do
710
+ params(periods: SportsOddsAPI::Event::Status::Periods::OrHash).void
711
+ end
712
+ attr_writer :periods
713
+
714
+ sig { returns(T.nilable(String)) }
715
+ attr_reader :previous_period_id
716
+
717
+ sig { params(previous_period_id: String).void }
718
+ attr_writer :previous_period_id
719
+
720
+ sig { returns(T.nilable(T::Boolean)) }
721
+ attr_reader :re_grade
722
+
723
+ sig { params(re_grade: T::Boolean).void }
724
+ attr_writer :re_grade
725
+
726
+ sig { returns(T.nilable(T::Boolean)) }
727
+ attr_reader :started
728
+
729
+ sig { params(started: T::Boolean).void }
730
+ attr_writer :started
731
+
732
+ sig { returns(T.nilable(Time)) }
733
+ attr_reader :starts_at
734
+
735
+ sig { params(starts_at: Time).void }
736
+ attr_writer :starts_at
737
+
738
+ sig do
739
+ params(
740
+ cancelled: T::Boolean,
741
+ completed: T::Boolean,
742
+ current_period_id: String,
743
+ delayed: T::Boolean,
744
+ display_long: String,
745
+ display_short: String,
746
+ ended: T::Boolean,
747
+ finalized: T::Boolean,
748
+ hard_start: T::Boolean,
749
+ live: T::Boolean,
750
+ odds_available: T::Boolean,
751
+ odds_present: T::Boolean,
752
+ periods: SportsOddsAPI::Event::Status::Periods::OrHash,
753
+ previous_period_id: String,
754
+ re_grade: T::Boolean,
755
+ started: T::Boolean,
756
+ starts_at: Time
757
+ ).returns(T.attached_class)
758
+ end
759
+ def self.new(
760
+ cancelled: nil,
761
+ completed: nil,
762
+ current_period_id: nil,
763
+ delayed: nil,
764
+ display_long: nil,
765
+ display_short: nil,
766
+ ended: nil,
767
+ finalized: nil,
768
+ hard_start: nil,
769
+ live: nil,
770
+ odds_available: nil,
771
+ odds_present: nil,
772
+ periods: nil,
773
+ previous_period_id: nil,
774
+ re_grade: nil,
775
+ started: nil,
776
+ starts_at: nil
777
+ )
778
+ end
779
+
780
+ sig do
781
+ override.returns(
782
+ {
783
+ cancelled: T::Boolean,
784
+ completed: T::Boolean,
785
+ current_period_id: String,
786
+ delayed: T::Boolean,
787
+ display_long: String,
788
+ display_short: String,
789
+ ended: T::Boolean,
790
+ finalized: T::Boolean,
791
+ hard_start: T::Boolean,
792
+ live: T::Boolean,
793
+ odds_available: T::Boolean,
794
+ odds_present: T::Boolean,
795
+ periods: SportsOddsAPI::Event::Status::Periods,
796
+ previous_period_id: String,
797
+ re_grade: T::Boolean,
798
+ started: T::Boolean,
799
+ starts_at: Time
800
+ }
801
+ )
802
+ end
803
+ def to_hash
804
+ end
805
+
806
+ class Periods < SportsOddsAPI::Internal::Type::BaseModel
807
+ OrHash =
808
+ T.type_alias do
809
+ T.any(
810
+ SportsOddsAPI::Event::Status::Periods,
811
+ SportsOddsAPI::Internal::AnyHash
812
+ )
813
+ end
814
+
815
+ sig { returns(T.nilable(T::Array[String])) }
816
+ attr_reader :ended
817
+
818
+ sig { params(ended: T::Array[String]).void }
819
+ attr_writer :ended
820
+
821
+ sig { returns(T.nilable(T::Array[String])) }
822
+ attr_reader :started
823
+
824
+ sig { params(started: T::Array[String]).void }
825
+ attr_writer :started
826
+
827
+ sig do
828
+ params(ended: T::Array[String], started: T::Array[String]).returns(
829
+ T.attached_class
830
+ )
831
+ end
832
+ def self.new(ended: nil, started: nil)
833
+ end
834
+
835
+ sig do
836
+ override.returns(
837
+ { ended: T::Array[String], started: T::Array[String] }
838
+ )
839
+ end
840
+ def to_hash
841
+ end
842
+ end
843
+ end
844
+
845
+ class Teams < SportsOddsAPI::Internal::Type::BaseModel
846
+ OrHash =
847
+ T.type_alias do
848
+ T.any(SportsOddsAPI::Event::Teams, SportsOddsAPI::Internal::AnyHash)
849
+ end
850
+
851
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Away)) }
852
+ attr_reader :away
853
+
854
+ sig { params(away: SportsOddsAPI::Event::Teams::Away::OrHash).void }
855
+ attr_writer :away
856
+
857
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Home)) }
858
+ attr_reader :home
859
+
860
+ sig { params(home: SportsOddsAPI::Event::Teams::Home::OrHash).void }
861
+ attr_writer :home
862
+
863
+ sig do
864
+ params(
865
+ away: SportsOddsAPI::Event::Teams::Away::OrHash,
866
+ home: SportsOddsAPI::Event::Teams::Home::OrHash
867
+ ).returns(T.attached_class)
868
+ end
869
+ def self.new(away: nil, home: nil)
870
+ end
871
+
872
+ sig do
873
+ override.returns(
874
+ {
875
+ away: SportsOddsAPI::Event::Teams::Away,
876
+ home: SportsOddsAPI::Event::Teams::Home
877
+ }
878
+ )
879
+ end
880
+ def to_hash
881
+ end
882
+
883
+ class Away < SportsOddsAPI::Internal::Type::BaseModel
884
+ OrHash =
885
+ T.type_alias do
886
+ T.any(
887
+ SportsOddsAPI::Event::Teams::Away,
888
+ SportsOddsAPI::Internal::AnyHash
889
+ )
890
+ end
891
+
892
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Away::Colors)) }
893
+ attr_reader :colors
894
+
895
+ sig do
896
+ params(
897
+ colors: SportsOddsAPI::Event::Teams::Away::Colors::OrHash
898
+ ).void
899
+ end
900
+ attr_writer :colors
901
+
902
+ sig { returns(T.nilable(String)) }
903
+ attr_reader :logo
904
+
905
+ sig { params(logo: String).void }
906
+ attr_writer :logo
907
+
908
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Away::Names)) }
909
+ attr_reader :names
910
+
911
+ sig do
912
+ params(names: SportsOddsAPI::Event::Teams::Away::Names::OrHash).void
913
+ end
914
+ attr_writer :names
915
+
916
+ sig { returns(T.nilable(Float)) }
917
+ attr_reader :score
918
+
919
+ sig { params(score: Float).void }
920
+ attr_writer :score
921
+
922
+ sig { returns(T.nilable(String)) }
923
+ attr_reader :stat_entity_id
924
+
925
+ sig { params(stat_entity_id: String).void }
926
+ attr_writer :stat_entity_id
927
+
928
+ sig { returns(T.nilable(String)) }
929
+ attr_reader :team_id
930
+
931
+ sig { params(team_id: String).void }
932
+ attr_writer :team_id
933
+
934
+ sig do
935
+ params(
936
+ colors: SportsOddsAPI::Event::Teams::Away::Colors::OrHash,
937
+ logo: String,
938
+ names: SportsOddsAPI::Event::Teams::Away::Names::OrHash,
939
+ score: Float,
940
+ stat_entity_id: String,
941
+ team_id: String
942
+ ).returns(T.attached_class)
943
+ end
944
+ def self.new(
945
+ colors: nil,
946
+ logo: nil,
947
+ names: nil,
948
+ score: nil,
949
+ stat_entity_id: nil,
950
+ team_id: nil
951
+ )
952
+ end
953
+
954
+ sig do
955
+ override.returns(
956
+ {
957
+ colors: SportsOddsAPI::Event::Teams::Away::Colors,
958
+ logo: String,
959
+ names: SportsOddsAPI::Event::Teams::Away::Names,
960
+ score: Float,
961
+ stat_entity_id: String,
962
+ team_id: String
963
+ }
964
+ )
965
+ end
966
+ def to_hash
967
+ end
968
+
969
+ class Colors < SportsOddsAPI::Internal::Type::BaseModel
970
+ OrHash =
971
+ T.type_alias do
972
+ T.any(
973
+ SportsOddsAPI::Event::Teams::Away::Colors,
974
+ SportsOddsAPI::Internal::AnyHash
975
+ )
976
+ end
977
+
978
+ sig { returns(T.nilable(String)) }
979
+ attr_reader :primary
980
+
981
+ sig { params(primary: String).void }
982
+ attr_writer :primary
983
+
984
+ sig { returns(T.nilable(String)) }
985
+ attr_reader :primary_contrast
986
+
987
+ sig { params(primary_contrast: String).void }
988
+ attr_writer :primary_contrast
989
+
990
+ sig { returns(T.nilable(String)) }
991
+ attr_reader :secondary
992
+
993
+ sig { params(secondary: String).void }
994
+ attr_writer :secondary
995
+
996
+ sig { returns(T.nilable(String)) }
997
+ attr_reader :secondary_contrast
998
+
999
+ sig { params(secondary_contrast: String).void }
1000
+ attr_writer :secondary_contrast
1001
+
1002
+ sig do
1003
+ params(
1004
+ primary: String,
1005
+ primary_contrast: String,
1006
+ secondary: String,
1007
+ secondary_contrast: String
1008
+ ).returns(T.attached_class)
1009
+ end
1010
+ def self.new(
1011
+ primary: nil,
1012
+ primary_contrast: nil,
1013
+ secondary: nil,
1014
+ secondary_contrast: nil
1015
+ )
1016
+ end
1017
+
1018
+ sig do
1019
+ override.returns(
1020
+ {
1021
+ primary: String,
1022
+ primary_contrast: String,
1023
+ secondary: String,
1024
+ secondary_contrast: String
1025
+ }
1026
+ )
1027
+ end
1028
+ def to_hash
1029
+ end
1030
+ end
1031
+
1032
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
1033
+ OrHash =
1034
+ T.type_alias do
1035
+ T.any(
1036
+ SportsOddsAPI::Event::Teams::Away::Names,
1037
+ SportsOddsAPI::Internal::AnyHash
1038
+ )
1039
+ end
1040
+
1041
+ sig { returns(T.nilable(String)) }
1042
+ attr_reader :long
1043
+
1044
+ sig { params(long: String).void }
1045
+ attr_writer :long
1046
+
1047
+ sig { returns(T.nilable(String)) }
1048
+ attr_reader :medium
1049
+
1050
+ sig { params(medium: String).void }
1051
+ attr_writer :medium
1052
+
1053
+ sig { returns(T.nilable(String)) }
1054
+ attr_reader :short
1055
+
1056
+ sig { params(short: String).void }
1057
+ attr_writer :short
1058
+
1059
+ sig do
1060
+ params(long: String, medium: String, short: String).returns(
1061
+ T.attached_class
1062
+ )
1063
+ end
1064
+ def self.new(long: nil, medium: nil, short: nil)
1065
+ end
1066
+
1067
+ sig do
1068
+ override.returns({ long: String, medium: String, short: String })
1069
+ end
1070
+ def to_hash
1071
+ end
1072
+ end
1073
+ end
1074
+
1075
+ class Home < SportsOddsAPI::Internal::Type::BaseModel
1076
+ OrHash =
1077
+ T.type_alias do
1078
+ T.any(
1079
+ SportsOddsAPI::Event::Teams::Home,
1080
+ SportsOddsAPI::Internal::AnyHash
1081
+ )
1082
+ end
1083
+
1084
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Home::Colors)) }
1085
+ attr_reader :colors
1086
+
1087
+ sig do
1088
+ params(
1089
+ colors: SportsOddsAPI::Event::Teams::Home::Colors::OrHash
1090
+ ).void
1091
+ end
1092
+ attr_writer :colors
1093
+
1094
+ sig { returns(T.nilable(String)) }
1095
+ attr_reader :logo
1096
+
1097
+ sig { params(logo: String).void }
1098
+ attr_writer :logo
1099
+
1100
+ sig { returns(T.nilable(SportsOddsAPI::Event::Teams::Home::Names)) }
1101
+ attr_reader :names
1102
+
1103
+ sig do
1104
+ params(names: SportsOddsAPI::Event::Teams::Home::Names::OrHash).void
1105
+ end
1106
+ attr_writer :names
1107
+
1108
+ sig { returns(T.nilable(Float)) }
1109
+ attr_reader :score
1110
+
1111
+ sig { params(score: Float).void }
1112
+ attr_writer :score
1113
+
1114
+ sig { returns(T.nilable(String)) }
1115
+ attr_reader :stat_entity_id
1116
+
1117
+ sig { params(stat_entity_id: String).void }
1118
+ attr_writer :stat_entity_id
1119
+
1120
+ sig { returns(T.nilable(String)) }
1121
+ attr_reader :team_id
1122
+
1123
+ sig { params(team_id: String).void }
1124
+ attr_writer :team_id
1125
+
1126
+ sig do
1127
+ params(
1128
+ colors: SportsOddsAPI::Event::Teams::Home::Colors::OrHash,
1129
+ logo: String,
1130
+ names: SportsOddsAPI::Event::Teams::Home::Names::OrHash,
1131
+ score: Float,
1132
+ stat_entity_id: String,
1133
+ team_id: String
1134
+ ).returns(T.attached_class)
1135
+ end
1136
+ def self.new(
1137
+ colors: nil,
1138
+ logo: nil,
1139
+ names: nil,
1140
+ score: nil,
1141
+ stat_entity_id: nil,
1142
+ team_id: nil
1143
+ )
1144
+ end
1145
+
1146
+ sig do
1147
+ override.returns(
1148
+ {
1149
+ colors: SportsOddsAPI::Event::Teams::Home::Colors,
1150
+ logo: String,
1151
+ names: SportsOddsAPI::Event::Teams::Home::Names,
1152
+ score: Float,
1153
+ stat_entity_id: String,
1154
+ team_id: String
1155
+ }
1156
+ )
1157
+ end
1158
+ def to_hash
1159
+ end
1160
+
1161
+ class Colors < SportsOddsAPI::Internal::Type::BaseModel
1162
+ OrHash =
1163
+ T.type_alias do
1164
+ T.any(
1165
+ SportsOddsAPI::Event::Teams::Home::Colors,
1166
+ SportsOddsAPI::Internal::AnyHash
1167
+ )
1168
+ end
1169
+
1170
+ sig { returns(T.nilable(String)) }
1171
+ attr_reader :primary
1172
+
1173
+ sig { params(primary: String).void }
1174
+ attr_writer :primary
1175
+
1176
+ sig { returns(T.nilable(String)) }
1177
+ attr_reader :primary_contrast
1178
+
1179
+ sig { params(primary_contrast: String).void }
1180
+ attr_writer :primary_contrast
1181
+
1182
+ sig { returns(T.nilable(String)) }
1183
+ attr_reader :secondary
1184
+
1185
+ sig { params(secondary: String).void }
1186
+ attr_writer :secondary
1187
+
1188
+ sig { returns(T.nilable(String)) }
1189
+ attr_reader :secondary_contrast
1190
+
1191
+ sig { params(secondary_contrast: String).void }
1192
+ attr_writer :secondary_contrast
1193
+
1194
+ sig do
1195
+ params(
1196
+ primary: String,
1197
+ primary_contrast: String,
1198
+ secondary: String,
1199
+ secondary_contrast: String
1200
+ ).returns(T.attached_class)
1201
+ end
1202
+ def self.new(
1203
+ primary: nil,
1204
+ primary_contrast: nil,
1205
+ secondary: nil,
1206
+ secondary_contrast: nil
1207
+ )
1208
+ end
1209
+
1210
+ sig do
1211
+ override.returns(
1212
+ {
1213
+ primary: String,
1214
+ primary_contrast: String,
1215
+ secondary: String,
1216
+ secondary_contrast: String
1217
+ }
1218
+ )
1219
+ end
1220
+ def to_hash
1221
+ end
1222
+ end
1223
+
1224
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
1225
+ OrHash =
1226
+ T.type_alias do
1227
+ T.any(
1228
+ SportsOddsAPI::Event::Teams::Home::Names,
1229
+ SportsOddsAPI::Internal::AnyHash
1230
+ )
1231
+ end
1232
+
1233
+ sig { returns(T.nilable(String)) }
1234
+ attr_reader :long
1235
+
1236
+ sig { params(long: String).void }
1237
+ attr_writer :long
1238
+
1239
+ sig { returns(T.nilable(String)) }
1240
+ attr_reader :medium
1241
+
1242
+ sig { params(medium: String).void }
1243
+ attr_writer :medium
1244
+
1245
+ sig { returns(T.nilable(String)) }
1246
+ attr_reader :short
1247
+
1248
+ sig { params(short: String).void }
1249
+ attr_writer :short
1250
+
1251
+ sig do
1252
+ params(long: String, medium: String, short: String).returns(
1253
+ T.attached_class
1254
+ )
1255
+ end
1256
+ def self.new(long: nil, medium: nil, short: nil)
1257
+ end
1258
+
1259
+ sig do
1260
+ override.returns({ long: String, medium: String, short: String })
1261
+ end
1262
+ def to_hash
1263
+ end
1264
+ end
1265
+ end
1266
+ end
1267
+ end
1268
+ end
1269
+ end