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,286 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class EventGetParams < SportsOddsAPI::Internal::Type::BaseModel
6
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
7
+ include SportsOddsAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(SportsOddsAPI::EventGetParams, SportsOddsAPI::Internal::AnyHash)
12
+ end
13
+
14
+ # A bookmakerID or comma-separated list of bookmakerIDs to include odds for
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :bookmaker_id
17
+
18
+ sig { params(bookmaker_id: String).void }
19
+ attr_writer :bookmaker_id
20
+
21
+ # Only include cancelled Events (true), only non-cancelled Events (false) or all
22
+ # Events (omit)
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :cancelled
25
+
26
+ sig { params(cancelled: T::Boolean).void }
27
+ attr_writer :cancelled
28
+
29
+ # The cursor for the request. Used to get the next group of Events. This should be
30
+ # the nextCursor from the prior response.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :cursor
33
+
34
+ sig { params(cursor: String).void }
35
+ attr_writer :cursor
36
+
37
+ # Only include Events which have have ended (true), only Events which have not
38
+ # ended (false) or all Events (omit)
39
+ sig { returns(T.nilable(T::Boolean)) }
40
+ attr_reader :ended
41
+
42
+ sig { params(ended: T::Boolean).void }
43
+ attr_writer :ended
44
+
45
+ # An eventID or comma-separated list of eventIDs to get Event data for
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :event_id
48
+
49
+ sig { params(event_id: String).void }
50
+ attr_writer :event_id
51
+
52
+ # Only include finalized Events (true), exclude unfinalized Events (false) or all
53
+ # Events (omit)
54
+ sig { returns(T.nilable(T::Boolean)) }
55
+ attr_reader :finalized
56
+
57
+ sig { params(finalized: T::Boolean).void }
58
+ attr_writer :finalized
59
+
60
+ # Whether to include alternate lines in the odds byBookmaker data
61
+ sig { returns(T.nilable(T::Boolean)) }
62
+ attr_reader :include_alt_lines
63
+
64
+ sig { params(include_alt_lines: T::Boolean).void }
65
+ attr_writer :include_alt_lines
66
+
67
+ # Whether to include opposing odds for each included oddID
68
+ sig { returns(T.nilable(T::Boolean)) }
69
+ attr_reader :include_opposing_odds
70
+
71
+ sig { params(include_opposing_odds: T::Boolean).void }
72
+ attr_writer :include_opposing_odds
73
+
74
+ # A leagueID or comma-separated list of leagueIDs to get Events for
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :league_id
77
+
78
+ sig { params(league_id: String).void }
79
+ attr_writer :league_id
80
+
81
+ # The maximum number of Events to return
82
+ sig { returns(T.nilable(Float)) }
83
+ attr_reader :limit
84
+
85
+ sig { params(limit: Float).void }
86
+ attr_writer :limit
87
+
88
+ # Only include live Events (true), only non-live Events (false) or all Events
89
+ # (omit)
90
+ sig { returns(T.nilable(T::Boolean)) }
91
+ attr_reader :live
92
+
93
+ sig { params(live: T::Boolean).void }
94
+ attr_writer :live
95
+
96
+ # An oddID or comma-separated list of oddIDs to include odds for
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :odd_id
99
+
100
+ sig { params(odd_id: String).void }
101
+ attr_writer :odd_id
102
+
103
+ # Whether you want only Events which do (true) or do not (false) have odds markets
104
+ # which are currently available (open for wagering)
105
+ sig { returns(T.nilable(T::Boolean)) }
106
+ attr_reader :odds_available
107
+
108
+ sig { params(odds_available: T::Boolean).void }
109
+ attr_writer :odds_available
110
+
111
+ # Whether you want only Events which do (true) or do not (false) have any
112
+ # associated odds markets regardless of whether those odds markets are currently
113
+ # available (open for wagering)
114
+ sig { returns(T.nilable(T::Boolean)) }
115
+ attr_reader :odds_present
116
+
117
+ sig { params(odds_present: T::Boolean).void }
118
+ attr_writer :odds_present
119
+
120
+ # A playerID or comma-separated list of playerIDs to include Events (and
121
+ # associated odds) for
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :player_id
124
+
125
+ sig { params(player_id: String).void }
126
+ attr_writer :player_id
127
+
128
+ # A sportID or comma-separated list of sportIDs to get Events for
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :sport_id
131
+
132
+ sig { params(sport_id: String).void }
133
+ attr_writer :sport_id
134
+
135
+ # Only include Events which have have previously started (true), only Events which
136
+ # have not previously started (false) or all Events (omit)
137
+ sig { returns(T.nilable(T::Boolean)) }
138
+ attr_reader :started
139
+
140
+ sig { params(started: T::Boolean).void }
141
+ attr_writer :started
142
+
143
+ # Get Events that start after this date
144
+ sig { returns(T.nilable(Time)) }
145
+ attr_reader :starts_after
146
+
147
+ sig { params(starts_after: Time).void }
148
+ attr_writer :starts_after
149
+
150
+ # Get Events that start before this date
151
+ sig { returns(T.nilable(Time)) }
152
+ attr_reader :starts_before
153
+
154
+ sig { params(starts_before: Time).void }
155
+ attr_writer :starts_before
156
+
157
+ # A teamID or comma-separated list of teamIDs to include Events for
158
+ sig { returns(T.nilable(String)) }
159
+ attr_reader :team_id
160
+
161
+ sig { params(team_id: String).void }
162
+ attr_writer :team_id
163
+
164
+ # Only include Events of the specified type
165
+ sig { returns(T.nilable(String)) }
166
+ attr_reader :type
167
+
168
+ sig { params(type: String).void }
169
+ attr_writer :type
170
+
171
+ sig do
172
+ params(
173
+ bookmaker_id: String,
174
+ cancelled: T::Boolean,
175
+ cursor: String,
176
+ ended: T::Boolean,
177
+ event_id: String,
178
+ finalized: T::Boolean,
179
+ include_alt_lines: T::Boolean,
180
+ include_opposing_odds: T::Boolean,
181
+ league_id: String,
182
+ limit: Float,
183
+ live: T::Boolean,
184
+ odd_id: String,
185
+ odds_available: T::Boolean,
186
+ odds_present: T::Boolean,
187
+ player_id: String,
188
+ sport_id: String,
189
+ started: T::Boolean,
190
+ starts_after: Time,
191
+ starts_before: Time,
192
+ team_id: String,
193
+ type: String,
194
+ request_options: SportsOddsAPI::RequestOptions::OrHash
195
+ ).returns(T.attached_class)
196
+ end
197
+ def self.new(
198
+ # A bookmakerID or comma-separated list of bookmakerIDs to include odds for
199
+ bookmaker_id: nil,
200
+ # Only include cancelled Events (true), only non-cancelled Events (false) or all
201
+ # Events (omit)
202
+ cancelled: nil,
203
+ # The cursor for the request. Used to get the next group of Events. This should be
204
+ # the nextCursor from the prior response.
205
+ cursor: nil,
206
+ # Only include Events which have have ended (true), only Events which have not
207
+ # ended (false) or all Events (omit)
208
+ ended: nil,
209
+ # An eventID or comma-separated list of eventIDs to get Event data for
210
+ event_id: nil,
211
+ # Only include finalized Events (true), exclude unfinalized Events (false) or all
212
+ # Events (omit)
213
+ finalized: nil,
214
+ # Whether to include alternate lines in the odds byBookmaker data
215
+ include_alt_lines: nil,
216
+ # Whether to include opposing odds for each included oddID
217
+ include_opposing_odds: nil,
218
+ # A leagueID or comma-separated list of leagueIDs to get Events for
219
+ league_id: nil,
220
+ # The maximum number of Events to return
221
+ limit: nil,
222
+ # Only include live Events (true), only non-live Events (false) or all Events
223
+ # (omit)
224
+ live: nil,
225
+ # An oddID or comma-separated list of oddIDs to include odds for
226
+ odd_id: nil,
227
+ # Whether you want only Events which do (true) or do not (false) have odds markets
228
+ # which are currently available (open for wagering)
229
+ odds_available: nil,
230
+ # Whether you want only Events which do (true) or do not (false) have any
231
+ # associated odds markets regardless of whether those odds markets are currently
232
+ # available (open for wagering)
233
+ odds_present: nil,
234
+ # A playerID or comma-separated list of playerIDs to include Events (and
235
+ # associated odds) for
236
+ player_id: nil,
237
+ # A sportID or comma-separated list of sportIDs to get Events for
238
+ sport_id: nil,
239
+ # Only include Events which have have previously started (true), only Events which
240
+ # have not previously started (false) or all Events (omit)
241
+ started: nil,
242
+ # Get Events that start after this date
243
+ starts_after: nil,
244
+ # Get Events that start before this date
245
+ starts_before: nil,
246
+ # A teamID or comma-separated list of teamIDs to include Events for
247
+ team_id: nil,
248
+ # Only include Events of the specified type
249
+ type: nil,
250
+ request_options: {}
251
+ )
252
+ end
253
+
254
+ sig do
255
+ override.returns(
256
+ {
257
+ bookmaker_id: String,
258
+ cancelled: T::Boolean,
259
+ cursor: String,
260
+ ended: T::Boolean,
261
+ event_id: String,
262
+ finalized: T::Boolean,
263
+ include_alt_lines: T::Boolean,
264
+ include_opposing_odds: T::Boolean,
265
+ league_id: String,
266
+ limit: Float,
267
+ live: T::Boolean,
268
+ odd_id: String,
269
+ odds_available: T::Boolean,
270
+ odds_present: T::Boolean,
271
+ player_id: String,
272
+ sport_id: String,
273
+ started: T::Boolean,
274
+ starts_after: Time,
275
+ starts_before: Time,
276
+ team_id: String,
277
+ type: String,
278
+ request_options: SportsOddsAPI::RequestOptions
279
+ }
280
+ )
281
+ end
282
+ def to_hash
283
+ end
284
+ end
285
+ end
286
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class League < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::League, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(T::Boolean)) }
12
+ attr_reader :enabled
13
+
14
+ sig { params(enabled: T::Boolean).void }
15
+ attr_writer :enabled
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :league_id
19
+
20
+ sig { params(league_id: String).void }
21
+ attr_writer :league_id
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :name
25
+
26
+ sig { params(name: String).void }
27
+ attr_writer :name
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :short_name
31
+
32
+ sig { params(short_name: String).void }
33
+ attr_writer :short_name
34
+
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :sport_id
37
+
38
+ sig { params(sport_id: String).void }
39
+ attr_writer :sport_id
40
+
41
+ sig do
42
+ params(
43
+ enabled: T::Boolean,
44
+ league_id: String,
45
+ name: String,
46
+ short_name: String,
47
+ sport_id: String
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ enabled: nil,
52
+ league_id: nil,
53
+ name: nil,
54
+ short_name: nil,
55
+ sport_id: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ enabled: T::Boolean,
63
+ league_id: String,
64
+ name: String,
65
+ short_name: String,
66
+ sport_id: String
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class LeagueGetParams < SportsOddsAPI::Internal::Type::BaseModel
6
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
7
+ include SportsOddsAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ SportsOddsAPI::LeagueGetParams,
13
+ SportsOddsAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The league to get data for
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :league_id
20
+
21
+ sig { params(league_id: String).void }
22
+ attr_writer :league_id
23
+
24
+ # The sport to get leagues for
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :sport_id
27
+
28
+ sig { params(sport_id: String).void }
29
+ attr_writer :sport_id
30
+
31
+ sig do
32
+ params(
33
+ league_id: String,
34
+ sport_id: String,
35
+ request_options: SportsOddsAPI::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # The league to get data for
40
+ league_id: nil,
41
+ # The sport to get leagues for
42
+ sport_id: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ league_id: String,
51
+ sport_id: String,
52
+ request_options: SportsOddsAPI::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,11 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ LeagueGetResponse =
6
+ T.let(
7
+ SportsOddsAPI::Internal::Type::ArrayOf[SportsOddsAPI::League],
8
+ SportsOddsAPI::Internal::Type::Converter
9
+ )
10
+ end
11
+ end
@@ -0,0 +1,247 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Player < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::Player, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(T::Array[String])) }
12
+ attr_reader :aliases
13
+
14
+ sig { params(aliases: T::Array[String]).void }
15
+ attr_writer :aliases
16
+
17
+ sig { returns(T.nilable(Float)) }
18
+ attr_reader :jersey_number
19
+
20
+ sig { params(jersey_number: Float).void }
21
+ attr_writer :jersey_number
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :league_id
25
+
26
+ sig { params(league_id: String).void }
27
+ attr_writer :league_id
28
+
29
+ sig { returns(T.nilable(SportsOddsAPI::Player::Lookups)) }
30
+ attr_reader :lookups
31
+
32
+ sig { params(lookups: SportsOddsAPI::Player::Lookups::OrHash).void }
33
+ attr_writer :lookups
34
+
35
+ sig { returns(T.nilable(SportsOddsAPI::Player::Names)) }
36
+ attr_reader :names
37
+
38
+ sig { params(names: SportsOddsAPI::Player::Names::OrHash).void }
39
+ attr_writer :names
40
+
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :player_id
43
+
44
+ sig { params(player_id: String).void }
45
+ attr_writer :player_id
46
+
47
+ sig do
48
+ returns(T.nilable(T::Hash[Symbol, SportsOddsAPI::Player::PlayerTeam]))
49
+ end
50
+ attr_reader :player_teams
51
+
52
+ sig do
53
+ params(
54
+ player_teams:
55
+ T::Hash[Symbol, SportsOddsAPI::Player::PlayerTeam::OrHash]
56
+ ).void
57
+ end
58
+ attr_writer :player_teams
59
+
60
+ sig { returns(T.nilable(String)) }
61
+ attr_reader :position
62
+
63
+ sig { params(position: String).void }
64
+ attr_writer :position
65
+
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :sport_id
68
+
69
+ sig { params(sport_id: String).void }
70
+ attr_writer :sport_id
71
+
72
+ sig { returns(T.nilable(String)) }
73
+ attr_reader :team_id
74
+
75
+ sig { params(team_id: String).void }
76
+ attr_writer :team_id
77
+
78
+ sig do
79
+ params(
80
+ aliases: T::Array[String],
81
+ jersey_number: Float,
82
+ league_id: String,
83
+ lookups: SportsOddsAPI::Player::Lookups::OrHash,
84
+ names: SportsOddsAPI::Player::Names::OrHash,
85
+ player_id: String,
86
+ player_teams:
87
+ T::Hash[Symbol, SportsOddsAPI::Player::PlayerTeam::OrHash],
88
+ position: String,
89
+ sport_id: String,
90
+ team_id: String
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ aliases: nil,
95
+ jersey_number: nil,
96
+ league_id: nil,
97
+ lookups: nil,
98
+ names: nil,
99
+ player_id: nil,
100
+ player_teams: nil,
101
+ position: nil,
102
+ sport_id: nil,
103
+ team_id: nil
104
+ )
105
+ end
106
+
107
+ sig do
108
+ override.returns(
109
+ {
110
+ aliases: T::Array[String],
111
+ jersey_number: Float,
112
+ league_id: String,
113
+ lookups: SportsOddsAPI::Player::Lookups,
114
+ names: SportsOddsAPI::Player::Names,
115
+ player_id: String,
116
+ player_teams: T::Hash[Symbol, SportsOddsAPI::Player::PlayerTeam],
117
+ position: String,
118
+ sport_id: String,
119
+ team_id: String
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ class Lookups < SportsOddsAPI::Internal::Type::BaseModel
127
+ OrHash =
128
+ T.type_alias do
129
+ T.any(
130
+ SportsOddsAPI::Player::Lookups,
131
+ SportsOddsAPI::Internal::AnyHash
132
+ )
133
+ end
134
+
135
+ sig { returns(T.nilable(T::Array[String])) }
136
+ attr_reader :any_name
137
+
138
+ sig { params(any_name: T::Array[String]).void }
139
+ attr_writer :any_name
140
+
141
+ sig { returns(T.nilable(T::Array[String])) }
142
+ attr_reader :full_name
143
+
144
+ sig { params(full_name: T::Array[String]).void }
145
+ attr_writer :full_name
146
+
147
+ sig { returns(T.nilable(T::Array[String])) }
148
+ attr_reader :initials
149
+
150
+ sig { params(initials: T::Array[String]).void }
151
+ attr_writer :initials
152
+
153
+ sig do
154
+ params(
155
+ any_name: T::Array[String],
156
+ full_name: T::Array[String],
157
+ initials: T::Array[String]
158
+ ).returns(T.attached_class)
159
+ end
160
+ def self.new(any_name: nil, full_name: nil, initials: nil)
161
+ end
162
+
163
+ sig do
164
+ override.returns(
165
+ {
166
+ any_name: T::Array[String],
167
+ full_name: T::Array[String],
168
+ initials: T::Array[String]
169
+ }
170
+ )
171
+ end
172
+ def to_hash
173
+ end
174
+ end
175
+
176
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
177
+ OrHash =
178
+ T.type_alias do
179
+ T.any(
180
+ SportsOddsAPI::Player::Names,
181
+ SportsOddsAPI::Internal::AnyHash
182
+ )
183
+ end
184
+
185
+ sig { returns(T.nilable(String)) }
186
+ attr_reader :display_
187
+
188
+ sig { params(display_: String).void }
189
+ attr_writer :display_
190
+
191
+ sig { returns(T.nilable(String)) }
192
+ attr_reader :first_name
193
+
194
+ sig { params(first_name: String).void }
195
+ attr_writer :first_name
196
+
197
+ sig { returns(T.nilable(String)) }
198
+ attr_reader :last_name
199
+
200
+ sig { params(last_name: String).void }
201
+ attr_writer :last_name
202
+
203
+ sig do
204
+ params(
205
+ display_: String,
206
+ first_name: String,
207
+ last_name: String
208
+ ).returns(T.attached_class)
209
+ end
210
+ def self.new(display_: nil, first_name: nil, last_name: nil)
211
+ end
212
+
213
+ sig do
214
+ override.returns(
215
+ { display_: String, first_name: String, last_name: String }
216
+ )
217
+ end
218
+ def to_hash
219
+ end
220
+ end
221
+
222
+ class PlayerTeam < SportsOddsAPI::Internal::Type::BaseModel
223
+ OrHash =
224
+ T.type_alias do
225
+ T.any(
226
+ SportsOddsAPI::Player::PlayerTeam,
227
+ SportsOddsAPI::Internal::AnyHash
228
+ )
229
+ end
230
+
231
+ sig { returns(T.nilable(String)) }
232
+ attr_reader :team_id
233
+
234
+ sig { params(team_id: String).void }
235
+ attr_writer :team_id
236
+
237
+ sig { params(team_id: String).returns(T.attached_class) }
238
+ def self.new(team_id: nil)
239
+ end
240
+
241
+ sig { override.returns({ team_id: String }) }
242
+ def to_hash
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end