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,195 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Events#get
6
+ class EventGetParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute bookmaker_id
11
+ # A bookmakerID or comma-separated list of bookmakerIDs to include odds for
12
+ #
13
+ # @return [String, nil]
14
+ optional :bookmaker_id, String
15
+
16
+ # @!attribute cancelled
17
+ # Only include cancelled Events (true), only non-cancelled Events (false) or all
18
+ # Events (omit)
19
+ #
20
+ # @return [Boolean, nil]
21
+ optional :cancelled, SportsOddsAPI::Internal::Type::Boolean
22
+
23
+ # @!attribute cursor
24
+ # The cursor for the request. Used to get the next group of Events. This should be
25
+ # the nextCursor from the prior response.
26
+ #
27
+ # @return [String, nil]
28
+ optional :cursor, String
29
+
30
+ # @!attribute ended
31
+ # Only include Events which have have ended (true), only Events which have not
32
+ # ended (false) or all Events (omit)
33
+ #
34
+ # @return [Boolean, nil]
35
+ optional :ended, SportsOddsAPI::Internal::Type::Boolean
36
+
37
+ # @!attribute event_id
38
+ # An eventID or comma-separated list of eventIDs to get Event data for
39
+ #
40
+ # @return [String, nil]
41
+ optional :event_id, String
42
+
43
+ # @!attribute finalized
44
+ # Only include finalized Events (true), exclude unfinalized Events (false) or all
45
+ # Events (omit)
46
+ #
47
+ # @return [Boolean, nil]
48
+ optional :finalized, SportsOddsAPI::Internal::Type::Boolean
49
+
50
+ # @!attribute include_alt_lines
51
+ # Whether to include alternate lines in the odds byBookmaker data
52
+ #
53
+ # @return [Boolean, nil]
54
+ optional :include_alt_lines, SportsOddsAPI::Internal::Type::Boolean
55
+
56
+ # @!attribute include_opposing_odds
57
+ # Whether to include opposing odds for each included oddID
58
+ #
59
+ # @return [Boolean, nil]
60
+ optional :include_opposing_odds, SportsOddsAPI::Internal::Type::Boolean
61
+
62
+ # @!attribute league_id
63
+ # A leagueID or comma-separated list of leagueIDs to get Events for
64
+ #
65
+ # @return [String, nil]
66
+ optional :league_id, String
67
+
68
+ # @!attribute limit
69
+ # The maximum number of Events to return
70
+ #
71
+ # @return [Float, nil]
72
+ optional :limit, Float
73
+
74
+ # @!attribute live
75
+ # Only include live Events (true), only non-live Events (false) or all Events
76
+ # (omit)
77
+ #
78
+ # @return [Boolean, nil]
79
+ optional :live, SportsOddsAPI::Internal::Type::Boolean
80
+
81
+ # @!attribute odd_id
82
+ # An oddID or comma-separated list of oddIDs to include odds for
83
+ #
84
+ # @return [String, nil]
85
+ optional :odd_id, String
86
+
87
+ # @!attribute odds_available
88
+ # Whether you want only Events which do (true) or do not (false) have odds markets
89
+ # which are currently available (open for wagering)
90
+ #
91
+ # @return [Boolean, nil]
92
+ optional :odds_available, SportsOddsAPI::Internal::Type::Boolean
93
+
94
+ # @!attribute odds_present
95
+ # Whether you want only Events which do (true) or do not (false) have any
96
+ # associated odds markets regardless of whether those odds markets are currently
97
+ # available (open for wagering)
98
+ #
99
+ # @return [Boolean, nil]
100
+ optional :odds_present, SportsOddsAPI::Internal::Type::Boolean
101
+
102
+ # @!attribute player_id
103
+ # A playerID or comma-separated list of playerIDs to include Events (and
104
+ # associated odds) for
105
+ #
106
+ # @return [String, nil]
107
+ optional :player_id, String
108
+
109
+ # @!attribute sport_id
110
+ # A sportID or comma-separated list of sportIDs to get Events for
111
+ #
112
+ # @return [String, nil]
113
+ optional :sport_id, String
114
+
115
+ # @!attribute started
116
+ # Only include Events which have have previously started (true), only Events which
117
+ # have not previously started (false) or all Events (omit)
118
+ #
119
+ # @return [Boolean, nil]
120
+ optional :started, SportsOddsAPI::Internal::Type::Boolean
121
+
122
+ # @!attribute starts_after
123
+ # Get Events that start after this date
124
+ #
125
+ # @return [Time, nil]
126
+ optional :starts_after, Time
127
+
128
+ # @!attribute starts_before
129
+ # Get Events that start before this date
130
+ #
131
+ # @return [Time, nil]
132
+ optional :starts_before, Time
133
+
134
+ # @!attribute team_id
135
+ # A teamID or comma-separated list of teamIDs to include Events for
136
+ #
137
+ # @return [String, nil]
138
+ optional :team_id, String
139
+
140
+ # @!attribute type
141
+ # Only include Events of the specified type
142
+ #
143
+ # @return [String, nil]
144
+ optional :type, String
145
+
146
+ # @!method initialize(bookmaker_id: nil, cancelled: nil, cursor: nil, ended: nil, event_id: nil, finalized: nil, include_alt_lines: nil, include_opposing_odds: nil, league_id: nil, limit: nil, live: nil, odd_id: nil, odds_available: nil, odds_present: nil, player_id: nil, sport_id: nil, started: nil, starts_after: nil, starts_before: nil, team_id: nil, type: nil, request_options: {})
147
+ # Some parameter documentations has been truncated, see
148
+ # {SportsOddsAPI::Models::EventGetParams} for more details.
149
+ #
150
+ # @param bookmaker_id [String] A bookmakerID or comma-separated list of bookmakerIDs to include odds for
151
+ #
152
+ # @param cancelled [Boolean] Only include cancelled Events (true), only non-cancelled Events (false) or all E
153
+ #
154
+ # @param cursor [String] The cursor for the request. Used to get the next group of Events. This should be
155
+ #
156
+ # @param ended [Boolean] Only include Events which have have ended (true), only Events which have not end
157
+ #
158
+ # @param event_id [String] An eventID or comma-separated list of eventIDs to get Event data for
159
+ #
160
+ # @param finalized [Boolean] Only include finalized Events (true), exclude unfinalized Events (false) or all
161
+ #
162
+ # @param include_alt_lines [Boolean] Whether to include alternate lines in the odds byBookmaker data
163
+ #
164
+ # @param include_opposing_odds [Boolean] Whether to include opposing odds for each included oddID
165
+ #
166
+ # @param league_id [String] A leagueID or comma-separated list of leagueIDs to get Events for
167
+ #
168
+ # @param limit [Float] The maximum number of Events to return
169
+ #
170
+ # @param live [Boolean] Only include live Events (true), only non-live Events (false) or all Events (omi
171
+ #
172
+ # @param odd_id [String] An oddID or comma-separated list of oddIDs to include odds for
173
+ #
174
+ # @param odds_available [Boolean] Whether you want only Events which do (true) or do not (false) have odds markets
175
+ #
176
+ # @param odds_present [Boolean] Whether you want only Events which do (true) or do not (false) have any associat
177
+ #
178
+ # @param player_id [String] A playerID or comma-separated list of playerIDs to include Events (and associate
179
+ #
180
+ # @param sport_id [String] A sportID or comma-separated list of sportIDs to get Events for
181
+ #
182
+ # @param started [Boolean] Only include Events which have have previously started (true), only Events which
183
+ #
184
+ # @param starts_after [Time] Get Events that start after this date
185
+ #
186
+ # @param starts_before [Time] Get Events that start before this date
187
+ #
188
+ # @param team_id [String] A teamID or comma-separated list of teamIDs to include Events for
189
+ #
190
+ # @param type [String] Only include Events of the specified type
191
+ #
192
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class League < SportsOddsAPI::Internal::Type::BaseModel
6
+ # @!attribute enabled
7
+ #
8
+ # @return [Boolean, nil]
9
+ optional :enabled, SportsOddsAPI::Internal::Type::Boolean
10
+
11
+ # @!attribute league_id
12
+ #
13
+ # @return [String, nil]
14
+ optional :league_id, String, api_name: :leagueID
15
+
16
+ # @!attribute name
17
+ #
18
+ # @return [String, nil]
19
+ optional :name, String
20
+
21
+ # @!attribute short_name
22
+ #
23
+ # @return [String, nil]
24
+ optional :short_name, String, api_name: :shortName
25
+
26
+ # @!attribute sport_id
27
+ #
28
+ # @return [String, nil]
29
+ optional :sport_id, String, api_name: :sportID
30
+
31
+ # @!method initialize(enabled: nil, league_id: nil, name: nil, short_name: nil, sport_id: nil)
32
+ # @param enabled [Boolean]
33
+ # @param league_id [String]
34
+ # @param name [String]
35
+ # @param short_name [String]
36
+ # @param sport_id [String]
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Leagues#get
6
+ class LeagueGetParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute league_id
11
+ # The league to get data for
12
+ #
13
+ # @return [String, nil]
14
+ optional :league_id, String
15
+
16
+ # @!attribute sport_id
17
+ # The sport to get leagues for
18
+ #
19
+ # @return [String, nil]
20
+ optional :sport_id, String
21
+
22
+ # @!method initialize(league_id: nil, sport_id: nil, request_options: {})
23
+ # @param league_id [String] The league to get data for
24
+ #
25
+ # @param sport_id [String] The sport to get leagues for
26
+ #
27
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @type [SportsOddsAPI::Internal::Type::Converter]
6
+ LeagueGetResponse = SportsOddsAPI::Internal::Type::ArrayOf[-> { SportsOddsAPI::League }]
7
+ end
8
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Players#get
6
+ class Player < SportsOddsAPI::Internal::Type::BaseModel
7
+ # @!attribute aliases
8
+ #
9
+ # @return [Array<String>, nil]
10
+ optional :aliases, SportsOddsAPI::Internal::Type::ArrayOf[String]
11
+
12
+ # @!attribute jersey_number
13
+ #
14
+ # @return [Float, nil]
15
+ optional :jersey_number, Float, api_name: :jerseyNumber
16
+
17
+ # @!attribute league_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :league_id, String, api_name: :leagueID
21
+
22
+ # @!attribute lookups
23
+ #
24
+ # @return [SportsOddsAPI::Models::Player::Lookups, nil]
25
+ optional :lookups, -> { SportsOddsAPI::Player::Lookups }
26
+
27
+ # @!attribute names
28
+ #
29
+ # @return [SportsOddsAPI::Models::Player::Names, nil]
30
+ optional :names, -> { SportsOddsAPI::Player::Names }
31
+
32
+ # @!attribute player_id
33
+ #
34
+ # @return [String, nil]
35
+ optional :player_id, String, api_name: :playerID
36
+
37
+ # @!attribute player_teams
38
+ #
39
+ # @return [Hash{Symbol=>SportsOddsAPI::Models::Player::PlayerTeam}, nil]
40
+ optional :player_teams,
41
+ -> { SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Player::PlayerTeam] },
42
+ api_name: :playerTeams
43
+
44
+ # @!attribute position
45
+ #
46
+ # @return [String, nil]
47
+ optional :position, String
48
+
49
+ # @!attribute sport_id
50
+ #
51
+ # @return [String, nil]
52
+ optional :sport_id, String, api_name: :sportID
53
+
54
+ # @!attribute team_id
55
+ #
56
+ # @return [String, nil]
57
+ optional :team_id, String, api_name: :teamID
58
+
59
+ # @!method initialize(aliases: nil, jersey_number: nil, league_id: nil, lookups: nil, names: nil, player_id: nil, player_teams: nil, position: nil, sport_id: nil, team_id: nil)
60
+ # @param aliases [Array<String>]
61
+ # @param jersey_number [Float]
62
+ # @param league_id [String]
63
+ # @param lookups [SportsOddsAPI::Models::Player::Lookups]
64
+ # @param names [SportsOddsAPI::Models::Player::Names]
65
+ # @param player_id [String]
66
+ # @param player_teams [Hash{Symbol=>SportsOddsAPI::Models::Player::PlayerTeam}]
67
+ # @param position [String]
68
+ # @param sport_id [String]
69
+ # @param team_id [String]
70
+
71
+ # @see SportsOddsAPI::Models::Player#lookups
72
+ class Lookups < SportsOddsAPI::Internal::Type::BaseModel
73
+ # @!attribute any_name
74
+ #
75
+ # @return [Array<String>, nil]
76
+ optional :any_name, SportsOddsAPI::Internal::Type::ArrayOf[String], api_name: :anyName
77
+
78
+ # @!attribute full_name
79
+ #
80
+ # @return [Array<String>, nil]
81
+ optional :full_name, SportsOddsAPI::Internal::Type::ArrayOf[String], api_name: :fullName
82
+
83
+ # @!attribute initials
84
+ #
85
+ # @return [Array<String>, nil]
86
+ optional :initials, SportsOddsAPI::Internal::Type::ArrayOf[String]
87
+
88
+ # @!method initialize(any_name: nil, full_name: nil, initials: nil)
89
+ # @param any_name [Array<String>]
90
+ # @param full_name [Array<String>]
91
+ # @param initials [Array<String>]
92
+ end
93
+
94
+ # @see SportsOddsAPI::Models::Player#names
95
+ class Names < SportsOddsAPI::Internal::Type::BaseModel
96
+ # @!attribute display_
97
+ #
98
+ # @return [String, nil]
99
+ optional :display_, String, api_name: :display
100
+
101
+ # @!attribute first_name
102
+ #
103
+ # @return [String, nil]
104
+ optional :first_name, String, api_name: :firstName
105
+
106
+ # @!attribute last_name
107
+ #
108
+ # @return [String, nil]
109
+ optional :last_name, String, api_name: :lastName
110
+
111
+ # @!method initialize(display_: nil, first_name: nil, last_name: nil)
112
+ # @param display_ [String]
113
+ # @param first_name [String]
114
+ # @param last_name [String]
115
+ end
116
+
117
+ class PlayerTeam < SportsOddsAPI::Internal::Type::BaseModel
118
+ # @!attribute team_id
119
+ #
120
+ # @return [String, nil]
121
+ optional :team_id, String, api_name: :teamID
122
+
123
+ # @!method initialize(team_id: nil)
124
+ # @param team_id [String]
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Players#get
6
+ class PlayerGetParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute cursor
11
+ # The cursor for the request. Used to get the next group of Players. This should
12
+ # be the nextCursor from the prior response.
13
+ #
14
+ # @return [String, nil]
15
+ optional :cursor, String
16
+
17
+ # @!attribute event_id
18
+ # EventID to get Players data for
19
+ #
20
+ # @return [String, nil]
21
+ optional :event_id, String
22
+
23
+ # @!attribute limit
24
+ # The maximum number of Players to return
25
+ #
26
+ # @return [Float, nil]
27
+ optional :limit, Float
28
+
29
+ # @!attribute player_id
30
+ # PlayerID to get data for
31
+ #
32
+ # @return [String, nil]
33
+ optional :player_id, String
34
+
35
+ # @!attribute team_id
36
+ # TeamID to get Players data for
37
+ #
38
+ # @return [String, nil]
39
+ optional :team_id, String
40
+
41
+ # @!method initialize(cursor: nil, event_id: nil, limit: nil, player_id: nil, team_id: nil, request_options: {})
42
+ # Some parameter documentations has been truncated, see
43
+ # {SportsOddsAPI::Models::PlayerGetParams} for more details.
44
+ #
45
+ # @param cursor [String] The cursor for the request. Used to get the next group of Players. This should b
46
+ #
47
+ # @param event_id [String] EventID to get Players data for
48
+ #
49
+ # @param limit [Float] The maximum number of Players to return
50
+ #
51
+ # @param player_id [String] PlayerID to get data for
52
+ #
53
+ # @param team_id [String] TeamID to get Players data for
54
+ #
55
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class RateLimitInterval < SportsOddsAPI::Internal::Type::BaseModel
6
+ # @!attribute current_entities
7
+ # Current number of entities accessed in the interval
8
+ #
9
+ # @return [Integer, nil]
10
+ optional :current_entities, Integer, api_name: :"current-entities"
11
+
12
+ # @!attribute current_requests
13
+ # Current number of requests made in the interval
14
+ #
15
+ # @return [Integer, nil]
16
+ optional :current_requests, Integer, api_name: :"current-requests"
17
+
18
+ # @!attribute max_entities
19
+ # Maximum allowed entity accesses in the interval
20
+ #
21
+ # @return [Symbol, Integer, SportsOddsAPI::Models::RateLimitInterval::MaxEntities, nil]
22
+ optional :max_entities,
23
+ union: -> { SportsOddsAPI::RateLimitInterval::MaxEntities },
24
+ api_name: :"max-entities"
25
+
26
+ # @!attribute max_requests
27
+ # Maximum allowed requests in the interval
28
+ #
29
+ # @return [Symbol, Integer, SportsOddsAPI::Models::RateLimitInterval::MaxRequests, nil]
30
+ optional :max_requests,
31
+ union: -> { SportsOddsAPI::RateLimitInterval::MaxRequests },
32
+ api_name: :"max-requests"
33
+
34
+ # @!method initialize(current_entities: nil, current_requests: nil, max_entities: nil, max_requests: nil)
35
+ # @param current_entities [Integer] Current number of entities accessed in the interval
36
+ #
37
+ # @param current_requests [Integer] Current number of requests made in the interval
38
+ #
39
+ # @param max_entities [Symbol, Integer, SportsOddsAPI::Models::RateLimitInterval::MaxEntities] Maximum allowed entity accesses in the interval
40
+ #
41
+ # @param max_requests [Symbol, Integer, SportsOddsAPI::Models::RateLimitInterval::MaxRequests] Maximum allowed requests in the interval
42
+
43
+ # Maximum allowed entity accesses in the interval
44
+ #
45
+ # @see SportsOddsAPI::Models::RateLimitInterval#max_entities
46
+ module MaxEntities
47
+ extend SportsOddsAPI::Internal::Type::Union
48
+
49
+ variant const: -> { SportsOddsAPI::Models::RateLimitInterval::MaxEntities::UNLIMITED }
50
+
51
+ variant Integer
52
+
53
+ # @!method self.variants
54
+ # @return [Array(Symbol, Integer)]
55
+
56
+ define_sorbet_constant!(:Variants) do
57
+ T.type_alias { T.any(SportsOddsAPI::RateLimitInterval::MaxEntities::TaggedSymbol, Integer) }
58
+ end
59
+
60
+ # @!group
61
+
62
+ UNLIMITED = :unlimited
63
+
64
+ # @!endgroup
65
+ end
66
+
67
+ # Maximum allowed requests in the interval
68
+ #
69
+ # @see SportsOddsAPI::Models::RateLimitInterval#max_requests
70
+ module MaxRequests
71
+ extend SportsOddsAPI::Internal::Type::Union
72
+
73
+ variant const: -> { SportsOddsAPI::Models::RateLimitInterval::MaxRequests::UNLIMITED }
74
+
75
+ variant Integer
76
+
77
+ # @!method self.variants
78
+ # @return [Array(Symbol, Integer)]
79
+
80
+ define_sorbet_constant!(:Variants) do
81
+ T.type_alias { T.any(SportsOddsAPI::RateLimitInterval::MaxRequests::TaggedSymbol, Integer) }
82
+ end
83
+
84
+ # @!group
85
+
86
+ UNLIMITED = :unlimited
87
+
88
+ # @!endgroup
89
+ end
90
+ end
91
+ end
92
+ end