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,305 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Team < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::Team, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(SportsOddsAPI::Team::Colors)) }
12
+ attr_reader :colors
13
+
14
+ sig { params(colors: SportsOddsAPI::Team::Colors::OrHash).void }
15
+ attr_writer :colors
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 :logo
25
+
26
+ sig { params(logo: String).void }
27
+ attr_writer :logo
28
+
29
+ sig { returns(T.nilable(SportsOddsAPI::Team::Lookups)) }
30
+ attr_reader :lookups
31
+
32
+ sig { params(lookups: SportsOddsAPI::Team::Lookups::OrHash).void }
33
+ attr_writer :lookups
34
+
35
+ sig { returns(T.nilable(SportsOddsAPI::Team::Names)) }
36
+ attr_reader :names
37
+
38
+ sig { params(names: SportsOddsAPI::Team::Names::OrHash).void }
39
+ attr_writer :names
40
+
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :sport_id
43
+
44
+ sig { params(sport_id: String).void }
45
+ attr_writer :sport_id
46
+
47
+ sig { returns(T.nilable(SportsOddsAPI::Team::Standings)) }
48
+ attr_reader :standings
49
+
50
+ sig { params(standings: SportsOddsAPI::Team::Standings::OrHash).void }
51
+ attr_writer :standings
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :team_id
55
+
56
+ sig { params(team_id: String).void }
57
+ attr_writer :team_id
58
+
59
+ sig do
60
+ params(
61
+ colors: SportsOddsAPI::Team::Colors::OrHash,
62
+ league_id: String,
63
+ logo: String,
64
+ lookups: SportsOddsAPI::Team::Lookups::OrHash,
65
+ names: SportsOddsAPI::Team::Names::OrHash,
66
+ sport_id: String,
67
+ standings: SportsOddsAPI::Team::Standings::OrHash,
68
+ team_id: String
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ colors: nil,
73
+ league_id: nil,
74
+ logo: nil,
75
+ lookups: nil,
76
+ names: nil,
77
+ sport_id: nil,
78
+ standings: nil,
79
+ team_id: nil
80
+ )
81
+ end
82
+
83
+ sig do
84
+ override.returns(
85
+ {
86
+ colors: SportsOddsAPI::Team::Colors,
87
+ league_id: String,
88
+ logo: String,
89
+ lookups: SportsOddsAPI::Team::Lookups,
90
+ names: SportsOddsAPI::Team::Names,
91
+ sport_id: String,
92
+ standings: SportsOddsAPI::Team::Standings,
93
+ team_id: String
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ class Colors < SportsOddsAPI::Internal::Type::BaseModel
101
+ OrHash =
102
+ T.type_alias do
103
+ T.any(SportsOddsAPI::Team::Colors, SportsOddsAPI::Internal::AnyHash)
104
+ end
105
+
106
+ sig { returns(T.nilable(String)) }
107
+ attr_reader :primary
108
+
109
+ sig { params(primary: String).void }
110
+ attr_writer :primary
111
+
112
+ sig { returns(T.nilable(String)) }
113
+ attr_reader :primary_contrast
114
+
115
+ sig { params(primary_contrast: String).void }
116
+ attr_writer :primary_contrast
117
+
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :secondary
120
+
121
+ sig { params(secondary: String).void }
122
+ attr_writer :secondary
123
+
124
+ sig { returns(T.nilable(String)) }
125
+ attr_reader :secondary_contrast
126
+
127
+ sig { params(secondary_contrast: String).void }
128
+ attr_writer :secondary_contrast
129
+
130
+ sig do
131
+ params(
132
+ primary: String,
133
+ primary_contrast: String,
134
+ secondary: String,
135
+ secondary_contrast: String
136
+ ).returns(T.attached_class)
137
+ end
138
+ def self.new(
139
+ primary: nil,
140
+ primary_contrast: nil,
141
+ secondary: nil,
142
+ secondary_contrast: nil
143
+ )
144
+ end
145
+
146
+ sig do
147
+ override.returns(
148
+ {
149
+ primary: String,
150
+ primary_contrast: String,
151
+ secondary: String,
152
+ secondary_contrast: String
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+ end
159
+
160
+ class Lookups < SportsOddsAPI::Internal::Type::BaseModel
161
+ OrHash =
162
+ T.type_alias do
163
+ T.any(
164
+ SportsOddsAPI::Team::Lookups,
165
+ SportsOddsAPI::Internal::AnyHash
166
+ )
167
+ end
168
+
169
+ sig { returns(T.nilable(T::Array[String])) }
170
+ attr_reader :team_name
171
+
172
+ sig { params(team_name: T::Array[String]).void }
173
+ attr_writer :team_name
174
+
175
+ sig { params(team_name: T::Array[String]).returns(T.attached_class) }
176
+ def self.new(team_name: nil)
177
+ end
178
+
179
+ sig { override.returns({ team_name: T::Array[String] }) }
180
+ def to_hash
181
+ end
182
+ end
183
+
184
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
185
+ OrHash =
186
+ T.type_alias do
187
+ T.any(SportsOddsAPI::Team::Names, SportsOddsAPI::Internal::AnyHash)
188
+ end
189
+
190
+ sig { returns(T.nilable(String)) }
191
+ attr_reader :long
192
+
193
+ sig { params(long: String).void }
194
+ attr_writer :long
195
+
196
+ sig { returns(T.nilable(String)) }
197
+ attr_reader :medium
198
+
199
+ sig { params(medium: String).void }
200
+ attr_writer :medium
201
+
202
+ sig { returns(T.nilable(String)) }
203
+ attr_reader :short
204
+
205
+ sig { params(short: String).void }
206
+ attr_writer :short
207
+
208
+ sig do
209
+ params(long: String, medium: String, short: String).returns(
210
+ T.attached_class
211
+ )
212
+ end
213
+ def self.new(long: nil, medium: nil, short: nil)
214
+ end
215
+
216
+ sig do
217
+ override.returns({ long: String, medium: String, short: String })
218
+ end
219
+ def to_hash
220
+ end
221
+ end
222
+
223
+ class Standings < SportsOddsAPI::Internal::Type::BaseModel
224
+ OrHash =
225
+ T.type_alias do
226
+ T.any(
227
+ SportsOddsAPI::Team::Standings,
228
+ SportsOddsAPI::Internal::AnyHash
229
+ )
230
+ end
231
+
232
+ sig { returns(T.nilable(Float)) }
233
+ attr_reader :losses
234
+
235
+ sig { params(losses: Float).void }
236
+ attr_writer :losses
237
+
238
+ sig { returns(T.nilable(Float)) }
239
+ attr_reader :played
240
+
241
+ sig { params(played: Float).void }
242
+ attr_writer :played
243
+
244
+ sig { returns(T.nilable(String)) }
245
+ attr_reader :position
246
+
247
+ sig { params(position: String).void }
248
+ attr_writer :position
249
+
250
+ sig { returns(T.nilable(String)) }
251
+ attr_reader :record
252
+
253
+ sig { params(record: String).void }
254
+ attr_writer :record
255
+
256
+ sig { returns(T.nilable(Float)) }
257
+ attr_reader :ties
258
+
259
+ sig { params(ties: Float).void }
260
+ attr_writer :ties
261
+
262
+ sig { returns(T.nilable(Float)) }
263
+ attr_reader :wins
264
+
265
+ sig { params(wins: Float).void }
266
+ attr_writer :wins
267
+
268
+ sig do
269
+ params(
270
+ losses: Float,
271
+ played: Float,
272
+ position: String,
273
+ record: String,
274
+ ties: Float,
275
+ wins: Float
276
+ ).returns(T.attached_class)
277
+ end
278
+ def self.new(
279
+ losses: nil,
280
+ played: nil,
281
+ position: nil,
282
+ record: nil,
283
+ ties: nil,
284
+ wins: nil
285
+ )
286
+ end
287
+
288
+ sig do
289
+ override.returns(
290
+ {
291
+ losses: Float,
292
+ played: Float,
293
+ position: String,
294
+ record: String,
295
+ ties: Float,
296
+ wins: Float
297
+ }
298
+ )
299
+ end
300
+ def to_hash
301
+ end
302
+ end
303
+ end
304
+ end
305
+ end
@@ -0,0 +1,92 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class TeamGetParams < 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::TeamGetParams, SportsOddsAPI::Internal::AnyHash)
12
+ end
13
+
14
+ # The cursor for the request. Used to get the next group of Teams. This should be
15
+ # the nextCursor from the prior response.
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :cursor
18
+
19
+ sig { params(cursor: String).void }
20
+ attr_writer :cursor
21
+
22
+ # A single leagueID or comma-separated list of leagueIDs to get Teams for
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
+ # The maximum number of Teams to return
30
+ sig { returns(T.nilable(Float)) }
31
+ attr_reader :limit
32
+
33
+ sig { params(limit: Float).void }
34
+ attr_writer :limit
35
+
36
+ # A single sportID or comma-separated list of sportIDs to get Teams for
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :sport_id
39
+
40
+ sig { params(sport_id: String).void }
41
+ attr_writer :sport_id
42
+
43
+ # A single teamID or comma-separated list of teamIDs to get data for
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :team_id
46
+
47
+ sig { params(team_id: String).void }
48
+ attr_writer :team_id
49
+
50
+ sig do
51
+ params(
52
+ cursor: String,
53
+ league_id: String,
54
+ limit: Float,
55
+ sport_id: String,
56
+ team_id: String,
57
+ request_options: SportsOddsAPI::RequestOptions::OrHash
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ # The cursor for the request. Used to get the next group of Teams. This should be
62
+ # the nextCursor from the prior response.
63
+ cursor: nil,
64
+ # A single leagueID or comma-separated list of leagueIDs to get Teams for
65
+ league_id: nil,
66
+ # The maximum number of Teams to return
67
+ limit: nil,
68
+ # A single sportID or comma-separated list of sportIDs to get Teams for
69
+ sport_id: nil,
70
+ # A single teamID or comma-separated list of teamIDs to get data for
71
+ team_id: nil,
72
+ request_options: {}
73
+ )
74
+ end
75
+
76
+ sig do
77
+ override.returns(
78
+ {
79
+ cursor: String,
80
+ league_id: String,
81
+ limit: Float,
82
+ sport_id: String,
83
+ team_id: String,
84
+ request_options: SportsOddsAPI::RequestOptions
85
+ }
86
+ )
87
+ end
88
+ def to_hash
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ AccountGetUsageParams = SportsOddsAPI::Models::AccountGetUsageParams
5
+
6
+ AccountUsage = SportsOddsAPI::Models::AccountUsage
7
+
8
+ Event = SportsOddsAPI::Models::Event
9
+
10
+ EventGetParams = SportsOddsAPI::Models::EventGetParams
11
+
12
+ League = SportsOddsAPI::Models::League
13
+
14
+ LeagueGetParams = SportsOddsAPI::Models::LeagueGetParams
15
+
16
+ Player = SportsOddsAPI::Models::Player
17
+
18
+ PlayerGetParams = SportsOddsAPI::Models::PlayerGetParams
19
+
20
+ RateLimitInterval = SportsOddsAPI::Models::RateLimitInterval
21
+
22
+ Sport = SportsOddsAPI::Models::Sport
23
+
24
+ SportGetParams = SportsOddsAPI::Models::SportGetParams
25
+
26
+ Stat = SportsOddsAPI::Models::Stat
27
+
28
+ StatGetParams = SportsOddsAPI::Models::StatGetParams
29
+
30
+ StreamEventsParams = SportsOddsAPI::Models::StreamEventsParams
31
+
32
+ Team = SportsOddsAPI::Models::Team
33
+
34
+ TeamGetParams = SportsOddsAPI::Models::TeamGetParams
35
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < SportsOddsAPI::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(SportsOddsAPI::RequestOptions, SportsOddsAPI::Internal::AnyHash)
13
+ end
14
+
15
+ # @api private
16
+ sig { params(opts: SportsOddsAPI::RequestOptions::OrHash).void }
17
+ def self.validate!(opts)
18
+ end
19
+
20
+ # Idempotency key to send with request and all associated retries. Will only be
21
+ # sent for write requests.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :idempotency_key
24
+
25
+ # Extra query params to send with the request. These are `.merge`’d into any
26
+ # `query` given at the client level.
27
+ sig do
28
+ returns(
29
+ T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
30
+ )
31
+ end
32
+ attr_accessor :extra_query
33
+
34
+ # Extra headers to send with the request. These are `.merged`’d into any
35
+ # `extra_headers` given at the client level.
36
+ sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
37
+ attr_accessor :extra_headers
38
+
39
+ # Extra data to send with the request. These are deep merged into any data
40
+ # generated as part of the normal request.
41
+ sig { returns(T.nilable(T.anything)) }
42
+ attr_accessor :extra_body
43
+
44
+ # Maximum number of retries to attempt after a failed initial request.
45
+ sig { returns(T.nilable(Integer)) }
46
+ attr_accessor :max_retries
47
+
48
+ # Request timeout in seconds.
49
+ sig { returns(T.nilable(Float)) }
50
+ attr_accessor :timeout
51
+
52
+ # Returns a new instance of RequestOptions.
53
+ sig do
54
+ params(values: SportsOddsAPI::Internal::AnyHash).returns(T.attached_class)
55
+ end
56
+ def self.new(values = {})
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Resources
5
+ class Account
6
+ # Get rate-limits and usage data about your API key
7
+ sig do
8
+ params(request_options: SportsOddsAPI::RequestOptions::OrHash).returns(
9
+ SportsOddsAPI::AccountUsage
10
+ )
11
+ end
12
+ def get_usage(request_options: {})
13
+ end
14
+
15
+ # @api private
16
+ sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
17
+ def self.new(client:)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,96 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Resources
5
+ class Events
6
+ # Get a list of Events
7
+ sig do
8
+ params(
9
+ bookmaker_id: String,
10
+ cancelled: T::Boolean,
11
+ cursor: String,
12
+ ended: T::Boolean,
13
+ event_id: String,
14
+ finalized: T::Boolean,
15
+ include_alt_lines: T::Boolean,
16
+ include_opposing_odds: T::Boolean,
17
+ league_id: String,
18
+ limit: Float,
19
+ live: T::Boolean,
20
+ odd_id: String,
21
+ odds_available: T::Boolean,
22
+ odds_present: T::Boolean,
23
+ player_id: String,
24
+ sport_id: String,
25
+ started: T::Boolean,
26
+ starts_after: Time,
27
+ starts_before: Time,
28
+ team_id: String,
29
+ type: String,
30
+ request_options: SportsOddsAPI::RequestOptions::OrHash
31
+ ).returns(SportsOddsAPI::Internal::NextCursorPage[SportsOddsAPI::Event])
32
+ end
33
+ def get(
34
+ # A bookmakerID or comma-separated list of bookmakerIDs to include odds for
35
+ bookmaker_id: nil,
36
+ # Only include cancelled Events (true), only non-cancelled Events (false) or all
37
+ # Events (omit)
38
+ cancelled: nil,
39
+ # The cursor for the request. Used to get the next group of Events. This should be
40
+ # the nextCursor from the prior response.
41
+ cursor: nil,
42
+ # Only include Events which have have ended (true), only Events which have not
43
+ # ended (false) or all Events (omit)
44
+ ended: nil,
45
+ # An eventID or comma-separated list of eventIDs to get Event data for
46
+ event_id: nil,
47
+ # Only include finalized Events (true), exclude unfinalized Events (false) or all
48
+ # Events (omit)
49
+ finalized: nil,
50
+ # Whether to include alternate lines in the odds byBookmaker data
51
+ include_alt_lines: nil,
52
+ # Whether to include opposing odds for each included oddID
53
+ include_opposing_odds: nil,
54
+ # A leagueID or comma-separated list of leagueIDs to get Events for
55
+ league_id: nil,
56
+ # The maximum number of Events to return
57
+ limit: nil,
58
+ # Only include live Events (true), only non-live Events (false) or all Events
59
+ # (omit)
60
+ live: nil,
61
+ # An oddID or comma-separated list of oddIDs to include odds for
62
+ odd_id: nil,
63
+ # Whether you want only Events which do (true) or do not (false) have odds markets
64
+ # which are currently available (open for wagering)
65
+ odds_available: nil,
66
+ # Whether you want only Events which do (true) or do not (false) have any
67
+ # associated odds markets regardless of whether those odds markets are currently
68
+ # available (open for wagering)
69
+ odds_present: nil,
70
+ # A playerID or comma-separated list of playerIDs to include Events (and
71
+ # associated odds) for
72
+ player_id: nil,
73
+ # A sportID or comma-separated list of sportIDs to get Events for
74
+ sport_id: nil,
75
+ # Only include Events which have have previously started (true), only Events which
76
+ # have not previously started (false) or all Events (omit)
77
+ started: nil,
78
+ # Get Events that start after this date
79
+ starts_after: nil,
80
+ # Get Events that start before this date
81
+ starts_before: nil,
82
+ # A teamID or comma-separated list of teamIDs to include Events for
83
+ team_id: nil,
84
+ # Only include Events of the specified type
85
+ type: nil,
86
+ request_options: {}
87
+ )
88
+ end
89
+
90
+ # @api private
91
+ sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
92
+ def self.new(client:)
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Resources
5
+ class Leagues
6
+ # Get a list of Leagues
7
+ sig do
8
+ params(
9
+ league_id: String,
10
+ sport_id: String,
11
+ request_options: SportsOddsAPI::RequestOptions::OrHash
12
+ ).returns(T::Array[SportsOddsAPI::League])
13
+ end
14
+ def get(
15
+ # The league to get data for
16
+ league_id: nil,
17
+ # The sport to get leagues for
18
+ sport_id: nil,
19
+ request_options: {}
20
+ )
21
+ end
22
+
23
+ # @api private
24
+ sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
25
+ def self.new(client:)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Resources
5
+ class Players
6
+ # Get a list of Players for a specific Team or Event
7
+ sig do
8
+ params(
9
+ cursor: String,
10
+ event_id: String,
11
+ limit: Float,
12
+ player_id: String,
13
+ team_id: String,
14
+ request_options: SportsOddsAPI::RequestOptions::OrHash
15
+ ).returns(
16
+ SportsOddsAPI::Internal::NextCursorPage[SportsOddsAPI::Player]
17
+ )
18
+ end
19
+ def get(
20
+ # The cursor for the request. Used to get the next group of Players. This should
21
+ # be the nextCursor from the prior response.
22
+ cursor: nil,
23
+ # EventID to get Players data for
24
+ event_id: nil,
25
+ # The maximum number of Players to return
26
+ limit: nil,
27
+ # PlayerID to get data for
28
+ player_id: nil,
29
+ # TeamID to get Players data for
30
+ team_id: nil,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # @api private
36
+ sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
37
+ def self.new(client:)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Resources
5
+ class Sports
6
+ # Get a list of sports
7
+ sig do
8
+ params(request_options: SportsOddsAPI::RequestOptions::OrHash).returns(
9
+ T::Array[SportsOddsAPI::Sport]
10
+ )
11
+ end
12
+ def get(request_options: {})
13
+ end
14
+
15
+ # @api private
16
+ sig { params(client: SportsOddsAPI::Client).returns(T.attached_class) }
17
+ def self.new(client:)
18
+ end
19
+ end
20
+ end
21
+ end