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.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +10 -0
- data/README.md +186 -0
- data/SECURITY.md +27 -0
- data/lib/sports_odds_api/client.rb +112 -0
- data/lib/sports_odds_api/errors.rb +228 -0
- data/lib/sports_odds_api/file_part.rb +55 -0
- data/lib/sports_odds_api/internal/next_cursor_page.rb +86 -0
- data/lib/sports_odds_api/internal/transport/base_client.rb +580 -0
- data/lib/sports_odds_api/internal/transport/pooled_net_requester.rb +201 -0
- data/lib/sports_odds_api/internal/type/array_of.rb +168 -0
- data/lib/sports_odds_api/internal/type/base_model.rb +534 -0
- data/lib/sports_odds_api/internal/type/base_page.rb +55 -0
- data/lib/sports_odds_api/internal/type/boolean.rb +77 -0
- data/lib/sports_odds_api/internal/type/converter.rb +327 -0
- data/lib/sports_odds_api/internal/type/enum.rb +131 -0
- data/lib/sports_odds_api/internal/type/file_input.rb +108 -0
- data/lib/sports_odds_api/internal/type/hash_of.rb +188 -0
- data/lib/sports_odds_api/internal/type/request_parameters.rb +42 -0
- data/lib/sports_odds_api/internal/type/union.rb +243 -0
- data/lib/sports_odds_api/internal/type/unknown.rb +81 -0
- data/lib/sports_odds_api/internal/util.rb +914 -0
- data/lib/sports_odds_api/internal.rb +20 -0
- data/lib/sports_odds_api/models/account_get_usage_params.rb +14 -0
- data/lib/sports_odds_api/models/account_usage.rb +91 -0
- data/lib/sports_odds_api/models/event.rb +686 -0
- data/lib/sports_odds_api/models/event_get_params.rb +195 -0
- data/lib/sports_odds_api/models/league.rb +39 -0
- data/lib/sports_odds_api/models/league_get_params.rb +30 -0
- data/lib/sports_odds_api/models/league_get_response.rb +8 -0
- data/lib/sports_odds_api/models/player.rb +128 -0
- data/lib/sports_odds_api/models/player_get_params.rb +58 -0
- data/lib/sports_odds_api/models/rate_limit_interval.rb +92 -0
- data/lib/sports_odds_api/models/sport.rb +197 -0
- data/lib/sports_odds_api/models/sport_get_params.rb +14 -0
- data/lib/sports_odds_api/models/sport_get_response.rb +8 -0
- data/lib/sports_odds_api/models/stat.rb +144 -0
- data/lib/sports_odds_api/models/stat_get_params.rb +43 -0
- data/lib/sports_odds_api/models/stat_get_response.rb +8 -0
- data/lib/sports_odds_api/models/stream_events_params.rb +38 -0
- data/lib/sports_odds_api/models/stream_events_response.rb +120 -0
- data/lib/sports_odds_api/models/team.rb +162 -0
- data/lib/sports_odds_api/models/team_get_params.rb +58 -0
- data/lib/sports_odds_api/models.rb +76 -0
- data/lib/sports_odds_api/request_options.rb +78 -0
- data/lib/sports_odds_api/resources/account.rb +33 -0
- data/lib/sports_odds_api/resources/events.rb +94 -0
- data/lib/sports_odds_api/resources/leagues.rb +39 -0
- data/lib/sports_odds_api/resources/players.rb +48 -0
- data/lib/sports_odds_api/resources/sports.rb +33 -0
- data/lib/sports_odds_api/resources/stats.rb +44 -0
- data/lib/sports_odds_api/resources/stream.rb +40 -0
- data/lib/sports_odds_api/resources/teams.rb +48 -0
- data/lib/sports_odds_api/version.rb +5 -0
- data/lib/sports_odds_api.rb +82 -0
- data/manifest.yaml +15 -0
- data/rbi/sports_odds_api/client.rbi +83 -0
- data/rbi/sports_odds_api/errors.rbi +205 -0
- data/rbi/sports_odds_api/file_part.rbi +37 -0
- data/rbi/sports_odds_api/internal/next_cursor_page.rbi +22 -0
- data/rbi/sports_odds_api/internal/transport/base_client.rbi +305 -0
- data/rbi/sports_odds_api/internal/transport/pooled_net_requester.rbi +80 -0
- data/rbi/sports_odds_api/internal/type/array_of.rbi +104 -0
- data/rbi/sports_odds_api/internal/type/base_model.rbi +310 -0
- data/rbi/sports_odds_api/internal/type/base_page.rbi +43 -0
- data/rbi/sports_odds_api/internal/type/boolean.rbi +58 -0
- data/rbi/sports_odds_api/internal/type/converter.rbi +225 -0
- data/rbi/sports_odds_api/internal/type/enum.rbi +82 -0
- data/rbi/sports_odds_api/internal/type/file_input.rbi +59 -0
- data/rbi/sports_odds_api/internal/type/hash_of.rbi +104 -0
- data/rbi/sports_odds_api/internal/type/request_parameters.rbi +31 -0
- data/rbi/sports_odds_api/internal/type/union.rbi +128 -0
- data/rbi/sports_odds_api/internal/type/unknown.rbi +58 -0
- data/rbi/sports_odds_api/internal/util.rbi +487 -0
- data/rbi/sports_odds_api/internal.rbi +18 -0
- data/rbi/sports_odds_api/models/account_get_usage_params.rbi +32 -0
- data/rbi/sports_odds_api/models/account_usage.rbi +173 -0
- data/rbi/sports_odds_api/models/event.rbi +1269 -0
- data/rbi/sports_odds_api/models/event_get_params.rbi +286 -0
- data/rbi/sports_odds_api/models/league.rbi +74 -0
- data/rbi/sports_odds_api/models/league_get_params.rbi +60 -0
- data/rbi/sports_odds_api/models/league_get_response.rbi +11 -0
- data/rbi/sports_odds_api/models/player.rbi +247 -0
- data/rbi/sports_odds_api/models/player_get_params.rbi +95 -0
- data/rbi/sports_odds_api/models/rate_limit_interval.rbi +176 -0
- data/rbi/sports_odds_api/models/sport.rbi +371 -0
- data/rbi/sports_odds_api/models/sport_get_params.rbi +29 -0
- data/rbi/sports_odds_api/models/sport_get_response.rbi +11 -0
- data/rbi/sports_odds_api/models/stat.rbi +273 -0
- data/rbi/sports_odds_api/models/stat_get_params.rbi +72 -0
- data/rbi/sports_odds_api/models/stat_get_response.rbi +11 -0
- data/rbi/sports_odds_api/models/stream_events_params.rbi +71 -0
- data/rbi/sports_odds_api/models/stream_events_response.rbi +247 -0
- data/rbi/sports_odds_api/models/team.rbi +305 -0
- data/rbi/sports_odds_api/models/team_get_params.rbi +92 -0
- data/rbi/sports_odds_api/models.rbi +35 -0
- data/rbi/sports_odds_api/request_options.rbi +59 -0
- data/rbi/sports_odds_api/resources/account.rbi +21 -0
- data/rbi/sports_odds_api/resources/events.rbi +96 -0
- data/rbi/sports_odds_api/resources/leagues.rbi +29 -0
- data/rbi/sports_odds_api/resources/players.rbi +41 -0
- data/rbi/sports_odds_api/resources/sports.rbi +21 -0
- data/rbi/sports_odds_api/resources/stats.rbi +34 -0
- data/rbi/sports_odds_api/resources/stream.rbi +32 -0
- data/rbi/sports_odds_api/resources/teams.rbi +39 -0
- data/rbi/sports_odds_api/version.rbi +5 -0
- data/sig/sports_odds_api/client.rbs +45 -0
- data/sig/sports_odds_api/errors.rbs +117 -0
- data/sig/sports_odds_api/file_part.rbs +21 -0
- data/sig/sports_odds_api/internal/next_cursor_page.rbs +13 -0
- data/sig/sports_odds_api/internal/transport/base_client.rbs +133 -0
- data/sig/sports_odds_api/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/sports_odds_api/internal/type/array_of.rbs +48 -0
- data/sig/sports_odds_api/internal/type/base_model.rbs +104 -0
- data/sig/sports_odds_api/internal/type/base_page.rbs +24 -0
- data/sig/sports_odds_api/internal/type/boolean.rbs +26 -0
- data/sig/sports_odds_api/internal/type/converter.rbs +79 -0
- data/sig/sports_odds_api/internal/type/enum.rbs +32 -0
- data/sig/sports_odds_api/internal/type/file_input.rbs +25 -0
- data/sig/sports_odds_api/internal/type/hash_of.rbs +48 -0
- data/sig/sports_odds_api/internal/type/request_parameters.rbs +19 -0
- data/sig/sports_odds_api/internal/type/union.rbs +52 -0
- data/sig/sports_odds_api/internal/type/unknown.rbs +26 -0
- data/sig/sports_odds_api/internal/util.rbs +185 -0
- data/sig/sports_odds_api/internal.rbs +10 -0
- data/sig/sports_odds_api/models/account_get_usage_params.rbs +15 -0
- data/sig/sports_odds_api/models/account_usage.rbs +116 -0
- data/sig/sports_odds_api/models/event.rbs +860 -0
- data/sig/sports_odds_api/models/event_get_params.rbs +168 -0
- data/sig/sports_odds_api/models/league.rbs +50 -0
- data/sig/sports_odds_api/models/league_get_params.rbs +32 -0
- data/sig/sports_odds_api/models/league_get_response.rbs +7 -0
- data/sig/sports_odds_api/models/player.rbs +162 -0
- data/sig/sports_odds_api/models/player_get_params.rbs +56 -0
- data/sig/sports_odds_api/models/rate_limit_interval.rbs +67 -0
- data/sig/sports_odds_api/models/sport.rbs +241 -0
- data/sig/sports_odds_api/models/sport_get_params.rbs +15 -0
- data/sig/sports_odds_api/models/sport_get_response.rbs +7 -0
- data/sig/sports_odds_api/models/stat.rbs +166 -0
- data/sig/sports_odds_api/models/stat_get_params.rbs +38 -0
- data/sig/sports_odds_api/models/stat_get_response.rbs +7 -0
- data/sig/sports_odds_api/models/stream_events_params.rbs +38 -0
- data/sig/sports_odds_api/models/stream_events_response.rbs +151 -0
- data/sig/sports_odds_api/models/team.rbs +201 -0
- data/sig/sports_odds_api/models/team_get_params.rbs +56 -0
- data/sig/sports_odds_api/models.rbs +33 -0
- data/sig/sports_odds_api/request_options.rbs +36 -0
- data/sig/sports_odds_api/resources/account.rbs +11 -0
- data/sig/sports_odds_api/resources/events.rbs +32 -0
- data/sig/sports_odds_api/resources/leagues.rbs +13 -0
- data/sig/sports_odds_api/resources/players.rbs +16 -0
- data/sig/sports_odds_api/resources/sports.rbs +11 -0
- data/sig/sports_odds_api/resources/stats.rbs +14 -0
- data/sig/sports_odds_api/resources/stream.rbs +14 -0
- data/sig/sports_odds_api/resources/teams.rbs +16 -0
- data/sig/sports_odds_api/version.rbs +3 -0
- 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
|