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,686 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Events#get
6
+ class Event < SportsOddsAPI::Internal::Type::BaseModel
7
+ # @!attribute activity
8
+ #
9
+ # @return [SportsOddsAPI::Models::Event::Activity, nil]
10
+ optional :activity, -> { SportsOddsAPI::Event::Activity }
11
+
12
+ # @!attribute event_id
13
+ #
14
+ # @return [String, nil]
15
+ optional :event_id, String, api_name: :eventID
16
+
17
+ # @!attribute info
18
+ #
19
+ # @return [SportsOddsAPI::Models::Event::Info, nil]
20
+ optional :info, -> { SportsOddsAPI::Event::Info }
21
+
22
+ # @!attribute league_id
23
+ #
24
+ # @return [String, nil]
25
+ optional :league_id, String, api_name: :leagueID
26
+
27
+ # @!attribute manual
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :manual, SportsOddsAPI::Internal::Type::Boolean
31
+
32
+ # @!attribute odds
33
+ #
34
+ # @return [Hash{Symbol=>SportsOddsAPI::Models::Event::Odd}, nil]
35
+ optional :odds, -> { SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Event::Odd] }
36
+
37
+ # @!attribute players
38
+ #
39
+ # @return [Hash{Symbol=>SportsOddsAPI::Models::Event::Player}, nil]
40
+ optional :players, -> { SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Event::Player] }
41
+
42
+ # @!attribute results
43
+ # Nested results in the format `<periodID>.<statEntityID>.<statID> → number`.
44
+ #
45
+ # @return [Hash{Symbol=>Hash{Symbol=>Hash{Symbol=>Float}}}, nil]
46
+ optional :results,
47
+ SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Internal::Type::HashOf[Float]]]
48
+
49
+ # @!attribute sport_id
50
+ #
51
+ # @return [String, nil]
52
+ optional :sport_id, String, api_name: :sportID
53
+
54
+ # @!attribute status
55
+ #
56
+ # @return [SportsOddsAPI::Models::Event::Status, nil]
57
+ optional :status, -> { SportsOddsAPI::Event::Status }
58
+
59
+ # @!attribute teams
60
+ #
61
+ # @return [SportsOddsAPI::Models::Event::Teams, nil]
62
+ optional :teams, -> { SportsOddsAPI::Event::Teams }
63
+
64
+ # @!attribute type
65
+ #
66
+ # @return [String, nil]
67
+ optional :type, String
68
+
69
+ # @!method initialize(activity: nil, event_id: nil, info: nil, league_id: nil, manual: nil, odds: nil, players: nil, results: nil, sport_id: nil, status: nil, teams: nil, type: nil)
70
+ # @param activity [SportsOddsAPI::Models::Event::Activity]
71
+ #
72
+ # @param event_id [String]
73
+ #
74
+ # @param info [SportsOddsAPI::Models::Event::Info]
75
+ #
76
+ # @param league_id [String]
77
+ #
78
+ # @param manual [Boolean]
79
+ #
80
+ # @param odds [Hash{Symbol=>SportsOddsAPI::Models::Event::Odd}]
81
+ #
82
+ # @param players [Hash{Symbol=>SportsOddsAPI::Models::Event::Player}]
83
+ #
84
+ # @param results [Hash{Symbol=>Hash{Symbol=>Hash{Symbol=>Float}}}] Nested results in the format `<periodID>.<statEntityID>.<statID> → number`.
85
+ #
86
+ # @param sport_id [String]
87
+ #
88
+ # @param status [SportsOddsAPI::Models::Event::Status]
89
+ #
90
+ # @param teams [SportsOddsAPI::Models::Event::Teams]
91
+ #
92
+ # @param type [String]
93
+
94
+ # @see SportsOddsAPI::Models::Event#activity
95
+ class Activity < SportsOddsAPI::Internal::Type::BaseModel
96
+ # @!attribute count
97
+ #
98
+ # @return [Float, nil]
99
+ optional :count, Float
100
+
101
+ # @!attribute score
102
+ #
103
+ # @return [Float, nil]
104
+ optional :score, Float
105
+
106
+ # @!method initialize(count: nil, score: nil)
107
+ # @param count [Float]
108
+ # @param score [Float]
109
+ end
110
+
111
+ # @see SportsOddsAPI::Models::Event#info
112
+ class Info < SportsOddsAPI::Internal::Type::BaseModel
113
+ # @!attribute season_week
114
+ #
115
+ # @return [String, nil]
116
+ optional :season_week, String, api_name: :seasonWeek
117
+
118
+ # @!method initialize(season_week: nil)
119
+ # @param season_week [String]
120
+ end
121
+
122
+ class Odd < SportsOddsAPI::Internal::Type::BaseModel
123
+ # @!attribute bet_type_id
124
+ #
125
+ # @return [String, nil]
126
+ optional :bet_type_id, String, api_name: :betTypeID
127
+
128
+ # @!attribute book_odds
129
+ #
130
+ # @return [String, nil]
131
+ optional :book_odds, String, api_name: :bookOdds
132
+
133
+ # @!attribute book_odds_available
134
+ #
135
+ # @return [Boolean, nil]
136
+ optional :book_odds_available, SportsOddsAPI::Internal::Type::Boolean, api_name: :bookOddsAvailable
137
+
138
+ # @!attribute book_over_under
139
+ #
140
+ # @return [String, nil]
141
+ optional :book_over_under, String, api_name: :bookOverUnder
142
+
143
+ # @!attribute book_spread
144
+ #
145
+ # @return [String, nil]
146
+ optional :book_spread, String, api_name: :bookSpread
147
+
148
+ # @!attribute by_bookmaker
149
+ #
150
+ # @return [Hash{Symbol=>SportsOddsAPI::Models::Event::Odd::ByBookmaker}, nil]
151
+ optional :by_bookmaker,
152
+ -> { SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Event::Odd::ByBookmaker] },
153
+ api_name: :byBookmaker
154
+
155
+ # @!attribute cancelled
156
+ #
157
+ # @return [Boolean, nil]
158
+ optional :cancelled, SportsOddsAPI::Internal::Type::Boolean
159
+
160
+ # @!attribute ended
161
+ #
162
+ # @return [Boolean, nil]
163
+ optional :ended, SportsOddsAPI::Internal::Type::Boolean
164
+
165
+ # @!attribute fair_odds
166
+ #
167
+ # @return [String, nil]
168
+ optional :fair_odds, String, api_name: :fairOdds
169
+
170
+ # @!attribute fair_odds_available
171
+ #
172
+ # @return [Boolean, nil]
173
+ optional :fair_odds_available, SportsOddsAPI::Internal::Type::Boolean, api_name: :fairOddsAvailable
174
+
175
+ # @!attribute fair_over_under
176
+ #
177
+ # @return [String, nil]
178
+ optional :fair_over_under, String, api_name: :fairOverUnder
179
+
180
+ # @!attribute fair_spread
181
+ #
182
+ # @return [String, nil]
183
+ optional :fair_spread, String, api_name: :fairSpread
184
+
185
+ # @!attribute market_name
186
+ #
187
+ # @return [String, nil]
188
+ optional :market_name, String, api_name: :marketName
189
+
190
+ # @!attribute odd_id
191
+ #
192
+ # @return [String, nil]
193
+ optional :odd_id, String, api_name: :oddID
194
+
195
+ # @!attribute opposing_odd_id
196
+ #
197
+ # @return [String, nil]
198
+ optional :opposing_odd_id, String, api_name: :opposingOddID
199
+
200
+ # @!attribute period_id
201
+ #
202
+ # @return [String, nil]
203
+ optional :period_id, String, api_name: :periodID
204
+
205
+ # @!attribute player_id
206
+ #
207
+ # @return [String, nil]
208
+ optional :player_id, String, api_name: :playerID
209
+
210
+ # @!attribute score
211
+ #
212
+ # @return [Float, nil]
213
+ optional :score, Float
214
+
215
+ # @!attribute scoring_supported
216
+ #
217
+ # @return [Boolean, nil]
218
+ optional :scoring_supported, SportsOddsAPI::Internal::Type::Boolean, api_name: :scoringSupported
219
+
220
+ # @!attribute side_id
221
+ #
222
+ # @return [String, nil]
223
+ optional :side_id, String, api_name: :sideID
224
+
225
+ # @!attribute started
226
+ #
227
+ # @return [Boolean, nil]
228
+ optional :started, SportsOddsAPI::Internal::Type::Boolean
229
+
230
+ # @!attribute stat_entity_id
231
+ #
232
+ # @return [String, nil]
233
+ optional :stat_entity_id, String, api_name: :statEntityID
234
+
235
+ # @!attribute stat_id
236
+ #
237
+ # @return [String, nil]
238
+ optional :stat_id, String, api_name: :statID
239
+
240
+ # @!method initialize(bet_type_id: nil, book_odds: nil, book_odds_available: nil, book_over_under: nil, book_spread: nil, by_bookmaker: nil, cancelled: nil, ended: nil, fair_odds: nil, fair_odds_available: nil, fair_over_under: nil, fair_spread: nil, market_name: nil, odd_id: nil, opposing_odd_id: nil, period_id: nil, player_id: nil, score: nil, scoring_supported: nil, side_id: nil, started: nil, stat_entity_id: nil, stat_id: nil)
241
+ # @param bet_type_id [String]
242
+ # @param book_odds [String]
243
+ # @param book_odds_available [Boolean]
244
+ # @param book_over_under [String]
245
+ # @param book_spread [String]
246
+ # @param by_bookmaker [Hash{Symbol=>SportsOddsAPI::Models::Event::Odd::ByBookmaker}]
247
+ # @param cancelled [Boolean]
248
+ # @param ended [Boolean]
249
+ # @param fair_odds [String]
250
+ # @param fair_odds_available [Boolean]
251
+ # @param fair_over_under [String]
252
+ # @param fair_spread [String]
253
+ # @param market_name [String]
254
+ # @param odd_id [String]
255
+ # @param opposing_odd_id [String]
256
+ # @param period_id [String]
257
+ # @param player_id [String]
258
+ # @param score [Float]
259
+ # @param scoring_supported [Boolean]
260
+ # @param side_id [String]
261
+ # @param started [Boolean]
262
+ # @param stat_entity_id [String]
263
+ # @param stat_id [String]
264
+
265
+ class ByBookmaker < SportsOddsAPI::Internal::Type::BaseModel
266
+ # @!attribute available
267
+ #
268
+ # @return [Boolean, nil]
269
+ optional :available, SportsOddsAPI::Internal::Type::Boolean
270
+
271
+ # @!attribute bookmaker_id
272
+ #
273
+ # @return [String, nil]
274
+ optional :bookmaker_id, String, api_name: :bookmakerID
275
+
276
+ # @!attribute is_main_line
277
+ #
278
+ # @return [Boolean, nil]
279
+ optional :is_main_line, SportsOddsAPI::Internal::Type::Boolean, api_name: :isMainLine
280
+
281
+ # @!attribute last_updated_at
282
+ #
283
+ # @return [Time, nil]
284
+ optional :last_updated_at, Time, api_name: :lastUpdatedAt
285
+
286
+ # @!attribute odds
287
+ #
288
+ # @return [String, nil]
289
+ optional :odds, String
290
+
291
+ # @!attribute over_under
292
+ #
293
+ # @return [String, nil]
294
+ optional :over_under, String, api_name: :overUnder
295
+
296
+ # @!attribute spread
297
+ #
298
+ # @return [String, nil]
299
+ optional :spread, String
300
+
301
+ # @!method initialize(available: nil, bookmaker_id: nil, is_main_line: nil, last_updated_at: nil, odds: nil, over_under: nil, spread: nil)
302
+ # @param available [Boolean]
303
+ # @param bookmaker_id [String]
304
+ # @param is_main_line [Boolean]
305
+ # @param last_updated_at [Time]
306
+ # @param odds [String]
307
+ # @param over_under [String]
308
+ # @param spread [String]
309
+ end
310
+ end
311
+
312
+ class Player < SportsOddsAPI::Internal::Type::BaseModel
313
+ # @!attribute alias_
314
+ #
315
+ # @return [String, nil]
316
+ optional :alias_, String, api_name: :alias
317
+
318
+ # @!attribute first_name
319
+ #
320
+ # @return [String, nil]
321
+ optional :first_name, String, api_name: :firstName
322
+
323
+ # @!attribute last_name
324
+ #
325
+ # @return [String, nil]
326
+ optional :last_name, String, api_name: :lastName
327
+
328
+ # @!attribute name
329
+ #
330
+ # @return [String, nil]
331
+ optional :name, String
332
+
333
+ # @!attribute photo
334
+ #
335
+ # @return [String, nil]
336
+ optional :photo, String
337
+
338
+ # @!attribute player_id
339
+ #
340
+ # @return [String, nil]
341
+ optional :player_id, String, api_name: :playerID
342
+
343
+ # @!attribute team_id
344
+ #
345
+ # @return [String, nil]
346
+ optional :team_id, String, api_name: :teamID
347
+
348
+ # @!method initialize(alias_: nil, first_name: nil, last_name: nil, name: nil, photo: nil, player_id: nil, team_id: nil)
349
+ # @param alias_ [String]
350
+ # @param first_name [String]
351
+ # @param last_name [String]
352
+ # @param name [String]
353
+ # @param photo [String]
354
+ # @param player_id [String]
355
+ # @param team_id [String]
356
+ end
357
+
358
+ # @see SportsOddsAPI::Models::Event#status
359
+ class Status < SportsOddsAPI::Internal::Type::BaseModel
360
+ # @!attribute cancelled
361
+ #
362
+ # @return [Boolean, nil]
363
+ optional :cancelled, SportsOddsAPI::Internal::Type::Boolean
364
+
365
+ # @!attribute completed
366
+ #
367
+ # @return [Boolean, nil]
368
+ optional :completed, SportsOddsAPI::Internal::Type::Boolean
369
+
370
+ # @!attribute current_period_id
371
+ #
372
+ # @return [String, nil]
373
+ optional :current_period_id, String, api_name: :currentPeriodID
374
+
375
+ # @!attribute delayed
376
+ #
377
+ # @return [Boolean, nil]
378
+ optional :delayed, SportsOddsAPI::Internal::Type::Boolean
379
+
380
+ # @!attribute display_long
381
+ #
382
+ # @return [String, nil]
383
+ optional :display_long, String, api_name: :displayLong
384
+
385
+ # @!attribute display_short
386
+ #
387
+ # @return [String, nil]
388
+ optional :display_short, String, api_name: :displayShort
389
+
390
+ # @!attribute ended
391
+ #
392
+ # @return [Boolean, nil]
393
+ optional :ended, SportsOddsAPI::Internal::Type::Boolean
394
+
395
+ # @!attribute finalized
396
+ #
397
+ # @return [Boolean, nil]
398
+ optional :finalized, SportsOddsAPI::Internal::Type::Boolean
399
+
400
+ # @!attribute hard_start
401
+ #
402
+ # @return [Boolean, nil]
403
+ optional :hard_start, SportsOddsAPI::Internal::Type::Boolean, api_name: :hardStart
404
+
405
+ # @!attribute live
406
+ #
407
+ # @return [Boolean, nil]
408
+ optional :live, SportsOddsAPI::Internal::Type::Boolean
409
+
410
+ # @!attribute odds_available
411
+ #
412
+ # @return [Boolean, nil]
413
+ optional :odds_available, SportsOddsAPI::Internal::Type::Boolean, api_name: :oddsAvailable
414
+
415
+ # @!attribute odds_present
416
+ #
417
+ # @return [Boolean, nil]
418
+ optional :odds_present, SportsOddsAPI::Internal::Type::Boolean, api_name: :oddsPresent
419
+
420
+ # @!attribute periods
421
+ #
422
+ # @return [SportsOddsAPI::Models::Event::Status::Periods, nil]
423
+ optional :periods, -> { SportsOddsAPI::Event::Status::Periods }
424
+
425
+ # @!attribute previous_period_id
426
+ #
427
+ # @return [String, nil]
428
+ optional :previous_period_id, String, api_name: :previousPeriodID
429
+
430
+ # @!attribute re_grade
431
+ #
432
+ # @return [Boolean, nil]
433
+ optional :re_grade, SportsOddsAPI::Internal::Type::Boolean, api_name: :reGrade
434
+
435
+ # @!attribute started
436
+ #
437
+ # @return [Boolean, nil]
438
+ optional :started, SportsOddsAPI::Internal::Type::Boolean
439
+
440
+ # @!attribute starts_at
441
+ #
442
+ # @return [Time, nil]
443
+ optional :starts_at, Time, api_name: :startsAt
444
+
445
+ # @!method initialize(cancelled: nil, completed: nil, current_period_id: nil, delayed: nil, display_long: nil, display_short: nil, ended: nil, finalized: nil, hard_start: nil, live: nil, odds_available: nil, odds_present: nil, periods: nil, previous_period_id: nil, re_grade: nil, started: nil, starts_at: nil)
446
+ # @param cancelled [Boolean]
447
+ # @param completed [Boolean]
448
+ # @param current_period_id [String]
449
+ # @param delayed [Boolean]
450
+ # @param display_long [String]
451
+ # @param display_short [String]
452
+ # @param ended [Boolean]
453
+ # @param finalized [Boolean]
454
+ # @param hard_start [Boolean]
455
+ # @param live [Boolean]
456
+ # @param odds_available [Boolean]
457
+ # @param odds_present [Boolean]
458
+ # @param periods [SportsOddsAPI::Models::Event::Status::Periods]
459
+ # @param previous_period_id [String]
460
+ # @param re_grade [Boolean]
461
+ # @param started [Boolean]
462
+ # @param starts_at [Time]
463
+
464
+ # @see SportsOddsAPI::Models::Event::Status#periods
465
+ class Periods < SportsOddsAPI::Internal::Type::BaseModel
466
+ # @!attribute ended
467
+ #
468
+ # @return [Array<String>, nil]
469
+ optional :ended, SportsOddsAPI::Internal::Type::ArrayOf[String]
470
+
471
+ # @!attribute started
472
+ #
473
+ # @return [Array<String>, nil]
474
+ optional :started, SportsOddsAPI::Internal::Type::ArrayOf[String]
475
+
476
+ # @!method initialize(ended: nil, started: nil)
477
+ # @param ended [Array<String>]
478
+ # @param started [Array<String>]
479
+ end
480
+ end
481
+
482
+ # @see SportsOddsAPI::Models::Event#teams
483
+ class Teams < SportsOddsAPI::Internal::Type::BaseModel
484
+ # @!attribute away
485
+ #
486
+ # @return [SportsOddsAPI::Models::Event::Teams::Away, nil]
487
+ optional :away, -> { SportsOddsAPI::Event::Teams::Away }
488
+
489
+ # @!attribute home
490
+ #
491
+ # @return [SportsOddsAPI::Models::Event::Teams::Home, nil]
492
+ optional :home, -> { SportsOddsAPI::Event::Teams::Home }
493
+
494
+ # @!method initialize(away: nil, home: nil)
495
+ # @param away [SportsOddsAPI::Models::Event::Teams::Away]
496
+ # @param home [SportsOddsAPI::Models::Event::Teams::Home]
497
+
498
+ # @see SportsOddsAPI::Models::Event::Teams#away
499
+ class Away < SportsOddsAPI::Internal::Type::BaseModel
500
+ # @!attribute colors
501
+ #
502
+ # @return [SportsOddsAPI::Models::Event::Teams::Away::Colors, nil]
503
+ optional :colors, -> { SportsOddsAPI::Event::Teams::Away::Colors }
504
+
505
+ # @!attribute logo
506
+ #
507
+ # @return [String, nil]
508
+ optional :logo, String
509
+
510
+ # @!attribute names
511
+ #
512
+ # @return [SportsOddsAPI::Models::Event::Teams::Away::Names, nil]
513
+ optional :names, -> { SportsOddsAPI::Event::Teams::Away::Names }
514
+
515
+ # @!attribute score
516
+ #
517
+ # @return [Float, nil]
518
+ optional :score, Float
519
+
520
+ # @!attribute stat_entity_id
521
+ #
522
+ # @return [String, nil]
523
+ optional :stat_entity_id, String, api_name: :statEntityID
524
+
525
+ # @!attribute team_id
526
+ #
527
+ # @return [String, nil]
528
+ optional :team_id, String, api_name: :teamID
529
+
530
+ # @!method initialize(colors: nil, logo: nil, names: nil, score: nil, stat_entity_id: nil, team_id: nil)
531
+ # @param colors [SportsOddsAPI::Models::Event::Teams::Away::Colors]
532
+ # @param logo [String]
533
+ # @param names [SportsOddsAPI::Models::Event::Teams::Away::Names]
534
+ # @param score [Float]
535
+ # @param stat_entity_id [String]
536
+ # @param team_id [String]
537
+
538
+ # @see SportsOddsAPI::Models::Event::Teams::Away#colors
539
+ class Colors < SportsOddsAPI::Internal::Type::BaseModel
540
+ # @!attribute primary
541
+ #
542
+ # @return [String, nil]
543
+ optional :primary, String
544
+
545
+ # @!attribute primary_contrast
546
+ #
547
+ # @return [String, nil]
548
+ optional :primary_contrast, String, api_name: :primaryContrast
549
+
550
+ # @!attribute secondary
551
+ #
552
+ # @return [String, nil]
553
+ optional :secondary, String
554
+
555
+ # @!attribute secondary_contrast
556
+ #
557
+ # @return [String, nil]
558
+ optional :secondary_contrast, String, api_name: :secondaryContrast
559
+
560
+ # @!method initialize(primary: nil, primary_contrast: nil, secondary: nil, secondary_contrast: nil)
561
+ # @param primary [String]
562
+ # @param primary_contrast [String]
563
+ # @param secondary [String]
564
+ # @param secondary_contrast [String]
565
+ end
566
+
567
+ # @see SportsOddsAPI::Models::Event::Teams::Away#names
568
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
569
+ # @!attribute long
570
+ #
571
+ # @return [String, nil]
572
+ optional :long, String
573
+
574
+ # @!attribute medium
575
+ #
576
+ # @return [String, nil]
577
+ optional :medium, String
578
+
579
+ # @!attribute short
580
+ #
581
+ # @return [String, nil]
582
+ optional :short, String
583
+
584
+ # @!method initialize(long: nil, medium: nil, short: nil)
585
+ # @param long [String]
586
+ # @param medium [String]
587
+ # @param short [String]
588
+ end
589
+ end
590
+
591
+ # @see SportsOddsAPI::Models::Event::Teams#home
592
+ class Home < SportsOddsAPI::Internal::Type::BaseModel
593
+ # @!attribute colors
594
+ #
595
+ # @return [SportsOddsAPI::Models::Event::Teams::Home::Colors, nil]
596
+ optional :colors, -> { SportsOddsAPI::Event::Teams::Home::Colors }
597
+
598
+ # @!attribute logo
599
+ #
600
+ # @return [String, nil]
601
+ optional :logo, String
602
+
603
+ # @!attribute names
604
+ #
605
+ # @return [SportsOddsAPI::Models::Event::Teams::Home::Names, nil]
606
+ optional :names, -> { SportsOddsAPI::Event::Teams::Home::Names }
607
+
608
+ # @!attribute score
609
+ #
610
+ # @return [Float, nil]
611
+ optional :score, Float
612
+
613
+ # @!attribute stat_entity_id
614
+ #
615
+ # @return [String, nil]
616
+ optional :stat_entity_id, String, api_name: :statEntityID
617
+
618
+ # @!attribute team_id
619
+ #
620
+ # @return [String, nil]
621
+ optional :team_id, String, api_name: :teamID
622
+
623
+ # @!method initialize(colors: nil, logo: nil, names: nil, score: nil, stat_entity_id: nil, team_id: nil)
624
+ # @param colors [SportsOddsAPI::Models::Event::Teams::Home::Colors]
625
+ # @param logo [String]
626
+ # @param names [SportsOddsAPI::Models::Event::Teams::Home::Names]
627
+ # @param score [Float]
628
+ # @param stat_entity_id [String]
629
+ # @param team_id [String]
630
+
631
+ # @see SportsOddsAPI::Models::Event::Teams::Home#colors
632
+ class Colors < SportsOddsAPI::Internal::Type::BaseModel
633
+ # @!attribute primary
634
+ #
635
+ # @return [String, nil]
636
+ optional :primary, String
637
+
638
+ # @!attribute primary_contrast
639
+ #
640
+ # @return [String, nil]
641
+ optional :primary_contrast, String, api_name: :primaryContrast
642
+
643
+ # @!attribute secondary
644
+ #
645
+ # @return [String, nil]
646
+ optional :secondary, String
647
+
648
+ # @!attribute secondary_contrast
649
+ #
650
+ # @return [String, nil]
651
+ optional :secondary_contrast, String, api_name: :secondaryContrast
652
+
653
+ # @!method initialize(primary: nil, primary_contrast: nil, secondary: nil, secondary_contrast: nil)
654
+ # @param primary [String]
655
+ # @param primary_contrast [String]
656
+ # @param secondary [String]
657
+ # @param secondary_contrast [String]
658
+ end
659
+
660
+ # @see SportsOddsAPI::Models::Event::Teams::Home#names
661
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
662
+ # @!attribute long
663
+ #
664
+ # @return [String, nil]
665
+ optional :long, String
666
+
667
+ # @!attribute medium
668
+ #
669
+ # @return [String, nil]
670
+ optional :medium, String
671
+
672
+ # @!attribute short
673
+ #
674
+ # @return [String, nil]
675
+ optional :short, String
676
+
677
+ # @!method initialize(long: nil, medium: nil, short: nil)
678
+ # @param long [String]
679
+ # @param medium [String]
680
+ # @param short [String]
681
+ end
682
+ end
683
+ end
684
+ end
685
+ end
686
+ end