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,273 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Stat < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::Stat, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :description
13
+
14
+ sig { params(description: String).void }
15
+ attr_writer :description
16
+
17
+ sig { returns(T.nilable(SportsOddsAPI::Stat::Displays)) }
18
+ attr_reader :displays
19
+
20
+ sig { params(displays: SportsOddsAPI::Stat::Displays::OrHash).void }
21
+ attr_writer :displays
22
+
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :is_score_stat
25
+
26
+ sig { params(is_score_stat: T::Boolean).void }
27
+ attr_writer :is_score_stat
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :stat_id
31
+
32
+ sig { params(stat_id: String).void }
33
+ attr_writer :stat_id
34
+
35
+ sig { returns(T.nilable(SportsOddsAPI::Stat::SupportedLevels)) }
36
+ attr_reader :supported_levels
37
+
38
+ sig do
39
+ params(
40
+ supported_levels: SportsOddsAPI::Stat::SupportedLevels::OrHash
41
+ ).void
42
+ end
43
+ attr_writer :supported_levels
44
+
45
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
46
+ attr_reader :supported_sports
47
+
48
+ sig { params(supported_sports: T::Hash[Symbol, T.anything]).void }
49
+ attr_writer :supported_sports
50
+
51
+ sig { returns(T.nilable(SportsOddsAPI::Stat::Units)) }
52
+ attr_reader :units
53
+
54
+ sig { params(units: SportsOddsAPI::Stat::Units::OrHash).void }
55
+ attr_writer :units
56
+
57
+ sig do
58
+ params(
59
+ description: String,
60
+ displays: SportsOddsAPI::Stat::Displays::OrHash,
61
+ is_score_stat: T::Boolean,
62
+ stat_id: String,
63
+ supported_levels: SportsOddsAPI::Stat::SupportedLevels::OrHash,
64
+ supported_sports: T::Hash[Symbol, T.anything],
65
+ units: SportsOddsAPI::Stat::Units::OrHash
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ description: nil,
70
+ displays: nil,
71
+ is_score_stat: nil,
72
+ stat_id: nil,
73
+ supported_levels: nil,
74
+ supported_sports: nil,
75
+ units: nil
76
+ )
77
+ end
78
+
79
+ sig do
80
+ override.returns(
81
+ {
82
+ description: String,
83
+ displays: SportsOddsAPI::Stat::Displays,
84
+ is_score_stat: T::Boolean,
85
+ stat_id: String,
86
+ supported_levels: SportsOddsAPI::Stat::SupportedLevels,
87
+ supported_sports: T::Hash[Symbol, T.anything],
88
+ units: SportsOddsAPI::Stat::Units
89
+ }
90
+ )
91
+ end
92
+ def to_hash
93
+ end
94
+
95
+ class Displays < SportsOddsAPI::Internal::Type::BaseModel
96
+ OrHash =
97
+ T.type_alias do
98
+ T.any(
99
+ SportsOddsAPI::Stat::Displays,
100
+ SportsOddsAPI::Internal::AnyHash
101
+ )
102
+ end
103
+
104
+ sig { returns(T.nilable(String)) }
105
+ attr_reader :long
106
+
107
+ sig { params(long: String).void }
108
+ attr_writer :long
109
+
110
+ sig { returns(T.nilable(String)) }
111
+ attr_reader :short
112
+
113
+ sig { params(short: String).void }
114
+ attr_writer :short
115
+
116
+ sig { params(long: String, short: String).returns(T.attached_class) }
117
+ def self.new(long: nil, short: nil)
118
+ end
119
+
120
+ sig { override.returns({ long: String, short: String }) }
121
+ def to_hash
122
+ end
123
+ end
124
+
125
+ class SupportedLevels < SportsOddsAPI::Internal::Type::BaseModel
126
+ OrHash =
127
+ T.type_alias do
128
+ T.any(
129
+ SportsOddsAPI::Stat::SupportedLevels,
130
+ SportsOddsAPI::Internal::AnyHash
131
+ )
132
+ end
133
+
134
+ sig { returns(T.nilable(T::Boolean)) }
135
+ attr_reader :all
136
+
137
+ sig { params(all: T::Boolean).void }
138
+ attr_writer :all
139
+
140
+ sig { returns(T.nilable(T::Boolean)) }
141
+ attr_reader :player
142
+
143
+ sig { params(player: T::Boolean).void }
144
+ attr_writer :player
145
+
146
+ sig { returns(T.nilable(T::Boolean)) }
147
+ attr_reader :team
148
+
149
+ sig { params(team: T::Boolean).void }
150
+ attr_writer :team
151
+
152
+ sig do
153
+ params(all: T::Boolean, player: T::Boolean, team: T::Boolean).returns(
154
+ T.attached_class
155
+ )
156
+ end
157
+ def self.new(all: nil, player: nil, team: nil)
158
+ end
159
+
160
+ sig do
161
+ override.returns(
162
+ { all: T::Boolean, player: T::Boolean, team: T::Boolean }
163
+ )
164
+ end
165
+ def to_hash
166
+ end
167
+ end
168
+
169
+ class Units < SportsOddsAPI::Internal::Type::BaseModel
170
+ OrHash =
171
+ T.type_alias do
172
+ T.any(SportsOddsAPI::Stat::Units, SportsOddsAPI::Internal::AnyHash)
173
+ end
174
+
175
+ sig { returns(T.nilable(SportsOddsAPI::Stat::Units::Long)) }
176
+ attr_reader :long
177
+
178
+ sig { params(long: SportsOddsAPI::Stat::Units::Long::OrHash).void }
179
+ attr_writer :long
180
+
181
+ sig { returns(T.nilable(SportsOddsAPI::Stat::Units::Short)) }
182
+ attr_reader :short
183
+
184
+ sig { params(short: SportsOddsAPI::Stat::Units::Short::OrHash).void }
185
+ attr_writer :short
186
+
187
+ sig do
188
+ params(
189
+ long: SportsOddsAPI::Stat::Units::Long::OrHash,
190
+ short: SportsOddsAPI::Stat::Units::Short::OrHash
191
+ ).returns(T.attached_class)
192
+ end
193
+ def self.new(long: nil, short: nil)
194
+ end
195
+
196
+ sig do
197
+ override.returns(
198
+ {
199
+ long: SportsOddsAPI::Stat::Units::Long,
200
+ short: SportsOddsAPI::Stat::Units::Short
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
208
+ OrHash =
209
+ T.type_alias do
210
+ T.any(
211
+ SportsOddsAPI::Stat::Units::Long,
212
+ SportsOddsAPI::Internal::AnyHash
213
+ )
214
+ end
215
+
216
+ sig { returns(T.nilable(String)) }
217
+ attr_reader :plural
218
+
219
+ sig { params(plural: String).void }
220
+ attr_writer :plural
221
+
222
+ sig { returns(T.nilable(String)) }
223
+ attr_reader :singular
224
+
225
+ sig { params(singular: String).void }
226
+ attr_writer :singular
227
+
228
+ sig do
229
+ params(plural: String, singular: String).returns(T.attached_class)
230
+ end
231
+ def self.new(plural: nil, singular: nil)
232
+ end
233
+
234
+ sig { override.returns({ plural: String, singular: String }) }
235
+ def to_hash
236
+ end
237
+ end
238
+
239
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
240
+ OrHash =
241
+ T.type_alias do
242
+ T.any(
243
+ SportsOddsAPI::Stat::Units::Short,
244
+ SportsOddsAPI::Internal::AnyHash
245
+ )
246
+ end
247
+
248
+ sig { returns(T.nilable(String)) }
249
+ attr_reader :plural
250
+
251
+ sig { params(plural: String).void }
252
+ attr_writer :plural
253
+
254
+ sig { returns(T.nilable(String)) }
255
+ attr_reader :singular
256
+
257
+ sig { params(singular: String).void }
258
+ attr_writer :singular
259
+
260
+ sig do
261
+ params(plural: String, singular: String).returns(T.attached_class)
262
+ end
263
+ def self.new(plural: nil, singular: nil)
264
+ end
265
+
266
+ sig { override.returns({ plural: String, singular: String }) }
267
+ def to_hash
268
+ end
269
+ end
270
+ end
271
+ end
272
+ end
273
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class StatGetParams < 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::StatGetParams, SportsOddsAPI::Internal::AnyHash)
12
+ end
13
+
14
+ # SportID to get StatIDs for
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :sport_id
17
+
18
+ sig { params(sport_id: String).void }
19
+ attr_writer :sport_id
20
+
21
+ # StatID to get data for
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :stat_id
24
+
25
+ sig { params(stat_id: String).void }
26
+ attr_writer :stat_id
27
+
28
+ # Level of the stat, must be used in combination with sportID. Must be one of all,
29
+ # player, or team. Shows stats that are applicable to that specified entity,
30
+ # defaults to all.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :stat_level
33
+
34
+ sig { params(stat_level: String).void }
35
+ attr_writer :stat_level
36
+
37
+ sig do
38
+ params(
39
+ sport_id: String,
40
+ stat_id: String,
41
+ stat_level: String,
42
+ request_options: SportsOddsAPI::RequestOptions::OrHash
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # SportID to get StatIDs for
47
+ sport_id: nil,
48
+ # StatID to get data for
49
+ stat_id: nil,
50
+ # Level of the stat, must be used in combination with sportID. Must be one of all,
51
+ # player, or team. Shows stats that are applicable to that specified entity,
52
+ # defaults to all.
53
+ stat_level: nil,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ sport_id: String,
62
+ stat_id: String,
63
+ stat_level: String,
64
+ request_options: SportsOddsAPI::RequestOptions
65
+ }
66
+ )
67
+ end
68
+ def to_hash
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,11 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ StatGetResponse =
6
+ T.let(
7
+ SportsOddsAPI::Internal::Type::ArrayOf[SportsOddsAPI::Stat],
8
+ SportsOddsAPI::Internal::Type::Converter
9
+ )
10
+ end
11
+ end
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class StreamEventsParams < 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::StreamEventsParams,
13
+ SportsOddsAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # An eventID to stream events for
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :event_id
20
+
21
+ sig { params(event_id: String).void }
22
+ attr_writer :event_id
23
+
24
+ # The feed you would like to subscribe to
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :feed
27
+
28
+ sig { params(feed: String).void }
29
+ attr_writer :feed
30
+
31
+ # A leagueID to stream events for
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :league_id
34
+
35
+ sig { params(league_id: String).void }
36
+ attr_writer :league_id
37
+
38
+ sig do
39
+ params(
40
+ event_id: String,
41
+ feed: String,
42
+ league_id: String,
43
+ request_options: SportsOddsAPI::RequestOptions::OrHash
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # An eventID to stream events for
48
+ event_id: nil,
49
+ # The feed you would like to subscribe to
50
+ feed: nil,
51
+ # A leagueID to stream events for
52
+ league_id: nil,
53
+ request_options: {}
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ event_id: String,
61
+ feed: String,
62
+ league_id: String,
63
+ request_options: SportsOddsAPI::RequestOptions
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,247 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class StreamEventsResponse < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SportsOddsAPI::Models::StreamEventsResponse,
10
+ SportsOddsAPI::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :channel
16
+
17
+ sig { params(channel: String).void }
18
+ attr_writer :channel
19
+
20
+ sig { returns(T.nilable(T::Array[SportsOddsAPI::Event])) }
21
+ attr_reader :data
22
+
23
+ sig { params(data: T::Array[SportsOddsAPI::Event::OrHash]).void }
24
+ attr_writer :data
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :pusher_key
28
+
29
+ sig { params(pusher_key: String).void }
30
+ attr_writer :pusher_key
31
+
32
+ sig do
33
+ returns(
34
+ T.nilable(SportsOddsAPI::Models::StreamEventsResponse::PusherOptions)
35
+ )
36
+ end
37
+ attr_reader :pusher_options
38
+
39
+ sig do
40
+ params(
41
+ pusher_options:
42
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::OrHash
43
+ ).void
44
+ end
45
+ attr_writer :pusher_options
46
+
47
+ sig { returns(T.nilable(T::Boolean)) }
48
+ attr_reader :success
49
+
50
+ sig { params(success: T::Boolean).void }
51
+ attr_writer :success
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :user
55
+
56
+ sig { params(user: String).void }
57
+ attr_writer :user
58
+
59
+ sig do
60
+ params(
61
+ channel: String,
62
+ data: T::Array[SportsOddsAPI::Event::OrHash],
63
+ pusher_key: String,
64
+ pusher_options:
65
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::OrHash,
66
+ success: T::Boolean,
67
+ user: String
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+ channel: nil,
72
+ data: nil,
73
+ pusher_key: nil,
74
+ pusher_options: nil,
75
+ success: nil,
76
+ user: nil
77
+ )
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ {
83
+ channel: String,
84
+ data: T::Array[SportsOddsAPI::Event],
85
+ pusher_key: String,
86
+ pusher_options:
87
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions,
88
+ success: T::Boolean,
89
+ user: String
90
+ }
91
+ )
92
+ end
93
+ def to_hash
94
+ end
95
+
96
+ class PusherOptions < SportsOddsAPI::Internal::Type::BaseModel
97
+ OrHash =
98
+ T.type_alias do
99
+ T.any(
100
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions,
101
+ SportsOddsAPI::Internal::AnyHash
102
+ )
103
+ end
104
+
105
+ sig do
106
+ returns(
107
+ T.nilable(
108
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization
109
+ )
110
+ )
111
+ end
112
+ attr_reader :channel_authorization
113
+
114
+ sig do
115
+ params(
116
+ channel_authorization:
117
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization::OrHash
118
+ ).void
119
+ end
120
+ attr_writer :channel_authorization
121
+
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :cluster
124
+
125
+ sig { params(cluster: String).void }
126
+ attr_writer :cluster
127
+
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :http_host
130
+
131
+ sig { params(http_host: String).void }
132
+ attr_writer :http_host
133
+
134
+ sig { returns(T.nilable(Integer)) }
135
+ attr_reader :http_port
136
+
137
+ sig { params(http_port: Integer).void }
138
+ attr_writer :http_port
139
+
140
+ sig { returns(T.nilable(Integer)) }
141
+ attr_reader :https_port
142
+
143
+ sig { params(https_port: Integer).void }
144
+ attr_writer :https_port
145
+
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :ws_host
148
+
149
+ sig { params(ws_host: String).void }
150
+ attr_writer :ws_host
151
+
152
+ sig { returns(T.nilable(Integer)) }
153
+ attr_reader :ws_port
154
+
155
+ sig { params(ws_port: Integer).void }
156
+ attr_writer :ws_port
157
+
158
+ sig { returns(T.nilable(Integer)) }
159
+ attr_reader :wss_port
160
+
161
+ sig { params(wss_port: Integer).void }
162
+ attr_writer :wss_port
163
+
164
+ sig do
165
+ params(
166
+ channel_authorization:
167
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization::OrHash,
168
+ cluster: String,
169
+ http_host: String,
170
+ http_port: Integer,
171
+ https_port: Integer,
172
+ ws_host: String,
173
+ ws_port: Integer,
174
+ wss_port: Integer
175
+ ).returns(T.attached_class)
176
+ end
177
+ def self.new(
178
+ channel_authorization: nil,
179
+ cluster: nil,
180
+ http_host: nil,
181
+ http_port: nil,
182
+ https_port: nil,
183
+ ws_host: nil,
184
+ ws_port: nil,
185
+ wss_port: nil
186
+ )
187
+ end
188
+
189
+ sig do
190
+ override.returns(
191
+ {
192
+ channel_authorization:
193
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization,
194
+ cluster: String,
195
+ http_host: String,
196
+ http_port: Integer,
197
+ https_port: Integer,
198
+ ws_host: String,
199
+ ws_port: Integer,
200
+ wss_port: Integer
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ class ChannelAuthorization < SportsOddsAPI::Internal::Type::BaseModel
208
+ OrHash =
209
+ T.type_alias do
210
+ T.any(
211
+ SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization,
212
+ SportsOddsAPI::Internal::AnyHash
213
+ )
214
+ end
215
+
216
+ sig { returns(T.nilable(String)) }
217
+ attr_reader :endpoint
218
+
219
+ sig { params(endpoint: String).void }
220
+ attr_writer :endpoint
221
+
222
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
223
+ attr_reader :headers
224
+
225
+ sig { params(headers: T::Hash[Symbol, String]).void }
226
+ attr_writer :headers
227
+
228
+ sig do
229
+ params(endpoint: String, headers: T::Hash[Symbol, String]).returns(
230
+ T.attached_class
231
+ )
232
+ end
233
+ def self.new(endpoint: nil, headers: nil)
234
+ end
235
+
236
+ sig do
237
+ override.returns(
238
+ { endpoint: String, headers: T::Hash[Symbol, String] }
239
+ )
240
+ end
241
+ def to_hash
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end