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,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Sport < SportsOddsAPI::Internal::Type::BaseModel
6
+ # @!attribute background_image
7
+ #
8
+ # @return [String, nil]
9
+ optional :background_image, String, api_name: :backgroundImage
10
+
11
+ # @!attribute base_periods
12
+ #
13
+ # @return [Array<String>, nil]
14
+ optional :base_periods, SportsOddsAPI::Internal::Type::ArrayOf[String], api_name: :basePeriods
15
+
16
+ # @!attribute clock_type
17
+ #
18
+ # @return [String, nil]
19
+ optional :clock_type, String, api_name: :clockType
20
+
21
+ # @!attribute default_popularity_score
22
+ #
23
+ # @return [Float, nil]
24
+ optional :default_popularity_score, Float, api_name: :defaultPopularityScore
25
+
26
+ # @!attribute enabled
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :enabled, SportsOddsAPI::Internal::Type::Boolean
30
+
31
+ # @!attribute event_word
32
+ #
33
+ # @return [SportsOddsAPI::Models::Sport::EventWord, nil]
34
+ optional :event_word, -> { SportsOddsAPI::Sport::EventWord }, api_name: :eventWord
35
+
36
+ # @!attribute extra_periods
37
+ #
38
+ # @return [Array<String>, nil]
39
+ optional :extra_periods, SportsOddsAPI::Internal::Type::ArrayOf[String], api_name: :extraPeriods
40
+
41
+ # @!attribute has_meaningful_home_away
42
+ #
43
+ # @return [Boolean, nil]
44
+ optional :has_meaningful_home_away,
45
+ SportsOddsAPI::Internal::Type::Boolean,
46
+ api_name: :hasMeaningfulHomeAway
47
+
48
+ # @!attribute image_icon
49
+ #
50
+ # @return [String, nil]
51
+ optional :image_icon, String, api_name: :imageIcon
52
+
53
+ # @!attribute name
54
+ #
55
+ # @return [String, nil]
56
+ optional :name, String
57
+
58
+ # @!attribute point_word
59
+ #
60
+ # @return [SportsOddsAPI::Models::Sport::PointWord, nil]
61
+ optional :point_word, -> { SportsOddsAPI::Sport::PointWord }, api_name: :pointWord
62
+
63
+ # @!attribute short_name
64
+ #
65
+ # @return [String, nil]
66
+ optional :short_name, String, api_name: :shortName
67
+
68
+ # @!attribute sport_id
69
+ #
70
+ # @return [String, nil]
71
+ optional :sport_id, String, api_name: :sportID
72
+
73
+ # @!attribute square_image
74
+ #
75
+ # @return [String, nil]
76
+ optional :square_image, String, api_name: :squareImage
77
+
78
+ # @!method initialize(background_image: nil, base_periods: nil, clock_type: nil, default_popularity_score: nil, enabled: nil, event_word: nil, extra_periods: nil, has_meaningful_home_away: nil, image_icon: nil, name: nil, point_word: nil, short_name: nil, sport_id: nil, square_image: nil)
79
+ # @param background_image [String]
80
+ # @param base_periods [Array<String>]
81
+ # @param clock_type [String]
82
+ # @param default_popularity_score [Float]
83
+ # @param enabled [Boolean]
84
+ # @param event_word [SportsOddsAPI::Models::Sport::EventWord]
85
+ # @param extra_periods [Array<String>]
86
+ # @param has_meaningful_home_away [Boolean]
87
+ # @param image_icon [String]
88
+ # @param name [String]
89
+ # @param point_word [SportsOddsAPI::Models::Sport::PointWord]
90
+ # @param short_name [String]
91
+ # @param sport_id [String]
92
+ # @param square_image [String]
93
+
94
+ # @see SportsOddsAPI::Models::Sport#event_word
95
+ class EventWord < SportsOddsAPI::Internal::Type::BaseModel
96
+ # @!attribute long
97
+ #
98
+ # @return [SportsOddsAPI::Models::Sport::EventWord::Long, nil]
99
+ optional :long, -> { SportsOddsAPI::Sport::EventWord::Long }
100
+
101
+ # @!attribute short
102
+ #
103
+ # @return [SportsOddsAPI::Models::Sport::EventWord::Short, nil]
104
+ optional :short, -> { SportsOddsAPI::Sport::EventWord::Short }
105
+
106
+ # @!method initialize(long: nil, short: nil)
107
+ # @param long [SportsOddsAPI::Models::Sport::EventWord::Long]
108
+ # @param short [SportsOddsAPI::Models::Sport::EventWord::Short]
109
+
110
+ # @see SportsOddsAPI::Models::Sport::EventWord#long
111
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
112
+ # @!attribute plural
113
+ #
114
+ # @return [String, nil]
115
+ optional :plural, String
116
+
117
+ # @!attribute singular
118
+ #
119
+ # @return [String, nil]
120
+ optional :singular, String
121
+
122
+ # @!method initialize(plural: nil, singular: nil)
123
+ # @param plural [String]
124
+ # @param singular [String]
125
+ end
126
+
127
+ # @see SportsOddsAPI::Models::Sport::EventWord#short
128
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
129
+ # @!attribute plural
130
+ #
131
+ # @return [String, nil]
132
+ optional :plural, String
133
+
134
+ # @!attribute singular
135
+ #
136
+ # @return [String, nil]
137
+ optional :singular, String
138
+
139
+ # @!method initialize(plural: nil, singular: nil)
140
+ # @param plural [String]
141
+ # @param singular [String]
142
+ end
143
+ end
144
+
145
+ # @see SportsOddsAPI::Models::Sport#point_word
146
+ class PointWord < SportsOddsAPI::Internal::Type::BaseModel
147
+ # @!attribute long
148
+ #
149
+ # @return [SportsOddsAPI::Models::Sport::PointWord::Long, nil]
150
+ optional :long, -> { SportsOddsAPI::Sport::PointWord::Long }
151
+
152
+ # @!attribute short
153
+ #
154
+ # @return [SportsOddsAPI::Models::Sport::PointWord::Short, nil]
155
+ optional :short, -> { SportsOddsAPI::Sport::PointWord::Short }
156
+
157
+ # @!method initialize(long: nil, short: nil)
158
+ # @param long [SportsOddsAPI::Models::Sport::PointWord::Long]
159
+ # @param short [SportsOddsAPI::Models::Sport::PointWord::Short]
160
+
161
+ # @see SportsOddsAPI::Models::Sport::PointWord#long
162
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
163
+ # @!attribute plural
164
+ #
165
+ # @return [String, nil]
166
+ optional :plural, String
167
+
168
+ # @!attribute singular
169
+ #
170
+ # @return [String, nil]
171
+ optional :singular, String
172
+
173
+ # @!method initialize(plural: nil, singular: nil)
174
+ # @param plural [String]
175
+ # @param singular [String]
176
+ end
177
+
178
+ # @see SportsOddsAPI::Models::Sport::PointWord#short
179
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
180
+ # @!attribute plural
181
+ #
182
+ # @return [String, nil]
183
+ optional :plural, String
184
+
185
+ # @!attribute singular
186
+ #
187
+ # @return [String, nil]
188
+ optional :singular, String
189
+
190
+ # @!method initialize(plural: nil, singular: nil)
191
+ # @param plural [String]
192
+ # @param singular [String]
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Sports#get
6
+ class SportGetParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @type [SportsOddsAPI::Internal::Type::Converter]
6
+ SportGetResponse = SportsOddsAPI::Internal::Type::ArrayOf[-> { SportsOddsAPI::Sport }]
7
+ end
8
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Stat < SportsOddsAPI::Internal::Type::BaseModel
6
+ # @!attribute description
7
+ #
8
+ # @return [String, nil]
9
+ optional :description, String
10
+
11
+ # @!attribute displays
12
+ #
13
+ # @return [SportsOddsAPI::Models::Stat::Displays, nil]
14
+ optional :displays, -> { SportsOddsAPI::Stat::Displays }
15
+
16
+ # @!attribute is_score_stat
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :is_score_stat, SportsOddsAPI::Internal::Type::Boolean, api_name: :isScoreStat
20
+
21
+ # @!attribute stat_id
22
+ #
23
+ # @return [String, nil]
24
+ optional :stat_id, String, api_name: :statID
25
+
26
+ # @!attribute supported_levels
27
+ #
28
+ # @return [SportsOddsAPI::Models::Stat::SupportedLevels, nil]
29
+ optional :supported_levels, -> { SportsOddsAPI::Stat::SupportedLevels }, api_name: :supportedLevels
30
+
31
+ # @!attribute supported_sports
32
+ #
33
+ # @return [Hash{Symbol=>Object}, nil]
34
+ optional :supported_sports,
35
+ SportsOddsAPI::Internal::Type::HashOf[SportsOddsAPI::Internal::Type::Unknown],
36
+ api_name: :supportedSports
37
+
38
+ # @!attribute units
39
+ #
40
+ # @return [SportsOddsAPI::Models::Stat::Units, nil]
41
+ optional :units, -> { SportsOddsAPI::Stat::Units }
42
+
43
+ # @!method initialize(description: nil, displays: nil, is_score_stat: nil, stat_id: nil, supported_levels: nil, supported_sports: nil, units: nil)
44
+ # @param description [String]
45
+ # @param displays [SportsOddsAPI::Models::Stat::Displays]
46
+ # @param is_score_stat [Boolean]
47
+ # @param stat_id [String]
48
+ # @param supported_levels [SportsOddsAPI::Models::Stat::SupportedLevels]
49
+ # @param supported_sports [Hash{Symbol=>Object}]
50
+ # @param units [SportsOddsAPI::Models::Stat::Units]
51
+
52
+ # @see SportsOddsAPI::Models::Stat#displays
53
+ class Displays < SportsOddsAPI::Internal::Type::BaseModel
54
+ # @!attribute long
55
+ #
56
+ # @return [String, nil]
57
+ optional :long, String
58
+
59
+ # @!attribute short
60
+ #
61
+ # @return [String, nil]
62
+ optional :short, String
63
+
64
+ # @!method initialize(long: nil, short: nil)
65
+ # @param long [String]
66
+ # @param short [String]
67
+ end
68
+
69
+ # @see SportsOddsAPI::Models::Stat#supported_levels
70
+ class SupportedLevels < SportsOddsAPI::Internal::Type::BaseModel
71
+ # @!attribute all
72
+ #
73
+ # @return [Boolean, nil]
74
+ optional :all, SportsOddsAPI::Internal::Type::Boolean
75
+
76
+ # @!attribute player
77
+ #
78
+ # @return [Boolean, nil]
79
+ optional :player, SportsOddsAPI::Internal::Type::Boolean
80
+
81
+ # @!attribute team
82
+ #
83
+ # @return [Boolean, nil]
84
+ optional :team, SportsOddsAPI::Internal::Type::Boolean
85
+
86
+ # @!method initialize(all: nil, player: nil, team: nil)
87
+ # @param all [Boolean]
88
+ # @param player [Boolean]
89
+ # @param team [Boolean]
90
+ end
91
+
92
+ # @see SportsOddsAPI::Models::Stat#units
93
+ class Units < SportsOddsAPI::Internal::Type::BaseModel
94
+ # @!attribute long
95
+ #
96
+ # @return [SportsOddsAPI::Models::Stat::Units::Long, nil]
97
+ optional :long, -> { SportsOddsAPI::Stat::Units::Long }
98
+
99
+ # @!attribute short
100
+ #
101
+ # @return [SportsOddsAPI::Models::Stat::Units::Short, nil]
102
+ optional :short, -> { SportsOddsAPI::Stat::Units::Short }
103
+
104
+ # @!method initialize(long: nil, short: nil)
105
+ # @param long [SportsOddsAPI::Models::Stat::Units::Long]
106
+ # @param short [SportsOddsAPI::Models::Stat::Units::Short]
107
+
108
+ # @see SportsOddsAPI::Models::Stat::Units#long
109
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
110
+ # @!attribute plural
111
+ #
112
+ # @return [String, nil]
113
+ optional :plural, String
114
+
115
+ # @!attribute singular
116
+ #
117
+ # @return [String, nil]
118
+ optional :singular, String
119
+
120
+ # @!method initialize(plural: nil, singular: nil)
121
+ # @param plural [String]
122
+ # @param singular [String]
123
+ end
124
+
125
+ # @see SportsOddsAPI::Models::Stat::Units#short
126
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
127
+ # @!attribute plural
128
+ #
129
+ # @return [String, nil]
130
+ optional :plural, String
131
+
132
+ # @!attribute singular
133
+ #
134
+ # @return [String, nil]
135
+ optional :singular, String
136
+
137
+ # @!method initialize(plural: nil, singular: nil)
138
+ # @param plural [String]
139
+ # @param singular [String]
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Stats#get
6
+ class StatGetParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute sport_id
11
+ # SportID to get StatIDs for
12
+ #
13
+ # @return [String, nil]
14
+ optional :sport_id, String
15
+
16
+ # @!attribute stat_id
17
+ # StatID to get data for
18
+ #
19
+ # @return [String, nil]
20
+ optional :stat_id, String
21
+
22
+ # @!attribute stat_level
23
+ # Level of the stat, must be used in combination with sportID. Must be one of all,
24
+ # player, or team. Shows stats that are applicable to that specified entity,
25
+ # defaults to all.
26
+ #
27
+ # @return [String, nil]
28
+ optional :stat_level, String
29
+
30
+ # @!method initialize(sport_id: nil, stat_id: nil, stat_level: nil, request_options: {})
31
+ # Some parameter documentations has been truncated, see
32
+ # {SportsOddsAPI::Models::StatGetParams} for more details.
33
+ #
34
+ # @param sport_id [String] SportID to get StatIDs for
35
+ #
36
+ # @param stat_id [String] StatID to get data for
37
+ #
38
+ # @param stat_level [String] Level of the stat, must be used in combination with sportID. Must be one of all,
39
+ #
40
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @type [SportsOddsAPI::Internal::Type::Converter]
6
+ StatGetResponse = SportsOddsAPI::Internal::Type::ArrayOf[-> { SportsOddsAPI::Stat }]
7
+ end
8
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Stream#events
6
+ class StreamEventsParams < SportsOddsAPI::Internal::Type::BaseModel
7
+ extend SportsOddsAPI::Internal::Type::RequestParameters::Converter
8
+ include SportsOddsAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute event_id
11
+ # An eventID to stream events for
12
+ #
13
+ # @return [String, nil]
14
+ optional :event_id, String
15
+
16
+ # @!attribute feed
17
+ # The feed you would like to subscribe to
18
+ #
19
+ # @return [String, nil]
20
+ optional :feed, String
21
+
22
+ # @!attribute league_id
23
+ # A leagueID to stream events for
24
+ #
25
+ # @return [String, nil]
26
+ optional :league_id, String
27
+
28
+ # @!method initialize(event_id: nil, feed: nil, league_id: nil, request_options: {})
29
+ # @param event_id [String] An eventID to stream events for
30
+ #
31
+ # @param feed [String] The feed you would like to subscribe to
32
+ #
33
+ # @param league_id [String] A leagueID to stream events for
34
+ #
35
+ # @param request_options [SportsOddsAPI::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ # @see SportsOddsAPI::Resources::Stream#events
6
+ class StreamEventsResponse < SportsOddsAPI::Internal::Type::BaseModel
7
+ # @!attribute channel
8
+ #
9
+ # @return [String, nil]
10
+ optional :channel, String
11
+
12
+ # @!attribute data
13
+ #
14
+ # @return [Array<SportsOddsAPI::Models::Event>, nil]
15
+ optional :data, -> { SportsOddsAPI::Internal::Type::ArrayOf[SportsOddsAPI::Event] }
16
+
17
+ # @!attribute pusher_key
18
+ #
19
+ # @return [String, nil]
20
+ optional :pusher_key, String, api_name: :pusherKey
21
+
22
+ # @!attribute pusher_options
23
+ #
24
+ # @return [SportsOddsAPI::Models::StreamEventsResponse::PusherOptions, nil]
25
+ optional :pusher_options,
26
+ -> { SportsOddsAPI::Models::StreamEventsResponse::PusherOptions },
27
+ api_name: :pusherOptions
28
+
29
+ # @!attribute success
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :success, SportsOddsAPI::Internal::Type::Boolean
33
+
34
+ # @!attribute user
35
+ #
36
+ # @return [String, nil]
37
+ optional :user, String
38
+
39
+ # @!method initialize(channel: nil, data: nil, pusher_key: nil, pusher_options: nil, success: nil, user: nil)
40
+ # @param channel [String]
41
+ # @param data [Array<SportsOddsAPI::Models::Event>]
42
+ # @param pusher_key [String]
43
+ # @param pusher_options [SportsOddsAPI::Models::StreamEventsResponse::PusherOptions]
44
+ # @param success [Boolean]
45
+ # @param user [String]
46
+
47
+ # @see SportsOddsAPI::Models::StreamEventsResponse#pusher_options
48
+ class PusherOptions < SportsOddsAPI::Internal::Type::BaseModel
49
+ # @!attribute channel_authorization
50
+ #
51
+ # @return [SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization, nil]
52
+ optional :channel_authorization,
53
+ -> { SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization },
54
+ api_name: :channelAuthorization
55
+
56
+ # @!attribute cluster
57
+ #
58
+ # @return [String, nil]
59
+ optional :cluster, String
60
+
61
+ # @!attribute http_host
62
+ #
63
+ # @return [String, nil]
64
+ optional :http_host, String, api_name: :httpHost
65
+
66
+ # @!attribute http_port
67
+ #
68
+ # @return [Integer, nil]
69
+ optional :http_port, Integer, api_name: :httpPort
70
+
71
+ # @!attribute https_port
72
+ #
73
+ # @return [Integer, nil]
74
+ optional :https_port, Integer, api_name: :httpsPort
75
+
76
+ # @!attribute ws_host
77
+ #
78
+ # @return [String, nil]
79
+ optional :ws_host, String, api_name: :wsHost
80
+
81
+ # @!attribute ws_port
82
+ #
83
+ # @return [Integer, nil]
84
+ optional :ws_port, Integer, api_name: :wsPort
85
+
86
+ # @!attribute wss_port
87
+ #
88
+ # @return [Integer, nil]
89
+ optional :wss_port, Integer, api_name: :wssPort
90
+
91
+ # @!method initialize(channel_authorization: nil, cluster: nil, http_host: nil, http_port: nil, https_port: nil, ws_host: nil, ws_port: nil, wss_port: nil)
92
+ # @param channel_authorization [SportsOddsAPI::Models::StreamEventsResponse::PusherOptions::ChannelAuthorization]
93
+ # @param cluster [String]
94
+ # @param http_host [String]
95
+ # @param http_port [Integer]
96
+ # @param https_port [Integer]
97
+ # @param ws_host [String]
98
+ # @param ws_port [Integer]
99
+ # @param wss_port [Integer]
100
+
101
+ # @see SportsOddsAPI::Models::StreamEventsResponse::PusherOptions#channel_authorization
102
+ class ChannelAuthorization < SportsOddsAPI::Internal::Type::BaseModel
103
+ # @!attribute endpoint
104
+ #
105
+ # @return [String, nil]
106
+ optional :endpoint, String
107
+
108
+ # @!attribute headers
109
+ #
110
+ # @return [Hash{Symbol=>String}, nil]
111
+ optional :headers, SportsOddsAPI::Internal::Type::HashOf[String]
112
+
113
+ # @!method initialize(endpoint: nil, headers: nil)
114
+ # @param endpoint [String]
115
+ # @param headers [Hash{Symbol=>String}]
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end