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,95 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class PlayerGetParams < 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::PlayerGetParams,
13
+ SportsOddsAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The cursor for the request. Used to get the next group of Players. This should
18
+ # be the nextCursor from the prior response.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :cursor
21
+
22
+ sig { params(cursor: String).void }
23
+ attr_writer :cursor
24
+
25
+ # EventID to get Players data for
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :event_id
28
+
29
+ sig { params(event_id: String).void }
30
+ attr_writer :event_id
31
+
32
+ # The maximum number of Players to return
33
+ sig { returns(T.nilable(Float)) }
34
+ attr_reader :limit
35
+
36
+ sig { params(limit: Float).void }
37
+ attr_writer :limit
38
+
39
+ # PlayerID to get data for
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :player_id
42
+
43
+ sig { params(player_id: String).void }
44
+ attr_writer :player_id
45
+
46
+ # TeamID to get Players data for
47
+ sig { returns(T.nilable(String)) }
48
+ attr_reader :team_id
49
+
50
+ sig { params(team_id: String).void }
51
+ attr_writer :team_id
52
+
53
+ sig do
54
+ params(
55
+ cursor: String,
56
+ event_id: String,
57
+ limit: Float,
58
+ player_id: String,
59
+ team_id: String,
60
+ request_options: SportsOddsAPI::RequestOptions::OrHash
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ # The cursor for the request. Used to get the next group of Players. This should
65
+ # be the nextCursor from the prior response.
66
+ cursor: nil,
67
+ # EventID to get Players data for
68
+ event_id: nil,
69
+ # The maximum number of Players to return
70
+ limit: nil,
71
+ # PlayerID to get data for
72
+ player_id: nil,
73
+ # TeamID to get Players data for
74
+ team_id: nil,
75
+ request_options: {}
76
+ )
77
+ end
78
+
79
+ sig do
80
+ override.returns(
81
+ {
82
+ cursor: String,
83
+ event_id: String,
84
+ limit: Float,
85
+ player_id: String,
86
+ team_id: String,
87
+ request_options: SportsOddsAPI::RequestOptions
88
+ }
89
+ )
90
+ end
91
+ def to_hash
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,176 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class RateLimitInterval < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SportsOddsAPI::RateLimitInterval,
10
+ SportsOddsAPI::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Current number of entities accessed in the interval
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_reader :current_entities
17
+
18
+ sig { params(current_entities: Integer).void }
19
+ attr_writer :current_entities
20
+
21
+ # Current number of requests made in the interval
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :current_requests
24
+
25
+ sig { params(current_requests: Integer).void }
26
+ attr_writer :current_requests
27
+
28
+ # Maximum allowed entity accesses in the interval
29
+ sig do
30
+ returns(
31
+ T.nilable(SportsOddsAPI::RateLimitInterval::MaxEntities::Variants)
32
+ )
33
+ end
34
+ attr_reader :max_entities
35
+
36
+ sig do
37
+ params(
38
+ max_entities:
39
+ T.any(
40
+ SportsOddsAPI::RateLimitInterval::MaxEntities::OrSymbol,
41
+ Integer
42
+ )
43
+ ).void
44
+ end
45
+ attr_writer :max_entities
46
+
47
+ # Maximum allowed requests in the interval
48
+ sig do
49
+ returns(
50
+ T.nilable(SportsOddsAPI::RateLimitInterval::MaxRequests::Variants)
51
+ )
52
+ end
53
+ attr_reader :max_requests
54
+
55
+ sig do
56
+ params(
57
+ max_requests:
58
+ T.any(
59
+ SportsOddsAPI::RateLimitInterval::MaxRequests::OrSymbol,
60
+ Integer
61
+ )
62
+ ).void
63
+ end
64
+ attr_writer :max_requests
65
+
66
+ sig do
67
+ params(
68
+ current_entities: Integer,
69
+ current_requests: Integer,
70
+ max_entities:
71
+ T.any(
72
+ SportsOddsAPI::RateLimitInterval::MaxEntities::OrSymbol,
73
+ Integer
74
+ ),
75
+ max_requests:
76
+ T.any(
77
+ SportsOddsAPI::RateLimitInterval::MaxRequests::OrSymbol,
78
+ Integer
79
+ )
80
+ ).returns(T.attached_class)
81
+ end
82
+ def self.new(
83
+ # Current number of entities accessed in the interval
84
+ current_entities: nil,
85
+ # Current number of requests made in the interval
86
+ current_requests: nil,
87
+ # Maximum allowed entity accesses in the interval
88
+ max_entities: nil,
89
+ # Maximum allowed requests in the interval
90
+ max_requests: nil
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ current_entities: Integer,
98
+ current_requests: Integer,
99
+ max_entities:
100
+ SportsOddsAPI::RateLimitInterval::MaxEntities::Variants,
101
+ max_requests:
102
+ SportsOddsAPI::RateLimitInterval::MaxRequests::Variants
103
+ }
104
+ )
105
+ end
106
+ def to_hash
107
+ end
108
+
109
+ # Maximum allowed entity accesses in the interval
110
+ module MaxEntities
111
+ extend SportsOddsAPI::Internal::Type::Union
112
+
113
+ Variants =
114
+ T.type_alias do
115
+ T.any(
116
+ SportsOddsAPI::RateLimitInterval::MaxEntities::TaggedSymbol,
117
+ Integer
118
+ )
119
+ end
120
+
121
+ sig do
122
+ override.returns(
123
+ T::Array[SportsOddsAPI::RateLimitInterval::MaxEntities::Variants]
124
+ )
125
+ end
126
+ def self.variants
127
+ end
128
+
129
+ TaggedSymbol =
130
+ T.type_alias do
131
+ T.all(Symbol, SportsOddsAPI::RateLimitInterval::MaxEntities)
132
+ end
133
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
134
+
135
+ UNLIMITED =
136
+ T.let(
137
+ :unlimited,
138
+ SportsOddsAPI::RateLimitInterval::MaxEntities::TaggedSymbol
139
+ )
140
+ end
141
+
142
+ # Maximum allowed requests in the interval
143
+ module MaxRequests
144
+ extend SportsOddsAPI::Internal::Type::Union
145
+
146
+ Variants =
147
+ T.type_alias do
148
+ T.any(
149
+ SportsOddsAPI::RateLimitInterval::MaxRequests::TaggedSymbol,
150
+ Integer
151
+ )
152
+ end
153
+
154
+ sig do
155
+ override.returns(
156
+ T::Array[SportsOddsAPI::RateLimitInterval::MaxRequests::Variants]
157
+ )
158
+ end
159
+ def self.variants
160
+ end
161
+
162
+ TaggedSymbol =
163
+ T.type_alias do
164
+ T.all(Symbol, SportsOddsAPI::RateLimitInterval::MaxRequests)
165
+ end
166
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
167
+
168
+ UNLIMITED =
169
+ T.let(
170
+ :unlimited,
171
+ SportsOddsAPI::RateLimitInterval::MaxRequests::TaggedSymbol
172
+ )
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,371 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class Sport < SportsOddsAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SportsOddsAPI::Sport, SportsOddsAPI::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :background_image
13
+
14
+ sig { params(background_image: String).void }
15
+ attr_writer :background_image
16
+
17
+ sig { returns(T.nilable(T::Array[String])) }
18
+ attr_reader :base_periods
19
+
20
+ sig { params(base_periods: T::Array[String]).void }
21
+ attr_writer :base_periods
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :clock_type
25
+
26
+ sig { params(clock_type: String).void }
27
+ attr_writer :clock_type
28
+
29
+ sig { returns(T.nilable(Float)) }
30
+ attr_reader :default_popularity_score
31
+
32
+ sig { params(default_popularity_score: Float).void }
33
+ attr_writer :default_popularity_score
34
+
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :enabled
37
+
38
+ sig { params(enabled: T::Boolean).void }
39
+ attr_writer :enabled
40
+
41
+ sig { returns(T.nilable(SportsOddsAPI::Sport::EventWord)) }
42
+ attr_reader :event_word
43
+
44
+ sig { params(event_word: SportsOddsAPI::Sport::EventWord::OrHash).void }
45
+ attr_writer :event_word
46
+
47
+ sig { returns(T.nilable(T::Array[String])) }
48
+ attr_reader :extra_periods
49
+
50
+ sig { params(extra_periods: T::Array[String]).void }
51
+ attr_writer :extra_periods
52
+
53
+ sig { returns(T.nilable(T::Boolean)) }
54
+ attr_reader :has_meaningful_home_away
55
+
56
+ sig { params(has_meaningful_home_away: T::Boolean).void }
57
+ attr_writer :has_meaningful_home_away
58
+
59
+ sig { returns(T.nilable(String)) }
60
+ attr_reader :image_icon
61
+
62
+ sig { params(image_icon: String).void }
63
+ attr_writer :image_icon
64
+
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :name
67
+
68
+ sig { params(name: String).void }
69
+ attr_writer :name
70
+
71
+ sig { returns(T.nilable(SportsOddsAPI::Sport::PointWord)) }
72
+ attr_reader :point_word
73
+
74
+ sig { params(point_word: SportsOddsAPI::Sport::PointWord::OrHash).void }
75
+ attr_writer :point_word
76
+
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :short_name
79
+
80
+ sig { params(short_name: String).void }
81
+ attr_writer :short_name
82
+
83
+ sig { returns(T.nilable(String)) }
84
+ attr_reader :sport_id
85
+
86
+ sig { params(sport_id: String).void }
87
+ attr_writer :sport_id
88
+
89
+ sig { returns(T.nilable(String)) }
90
+ attr_reader :square_image
91
+
92
+ sig { params(square_image: String).void }
93
+ attr_writer :square_image
94
+
95
+ sig do
96
+ params(
97
+ background_image: String,
98
+ base_periods: T::Array[String],
99
+ clock_type: String,
100
+ default_popularity_score: Float,
101
+ enabled: T::Boolean,
102
+ event_word: SportsOddsAPI::Sport::EventWord::OrHash,
103
+ extra_periods: T::Array[String],
104
+ has_meaningful_home_away: T::Boolean,
105
+ image_icon: String,
106
+ name: String,
107
+ point_word: SportsOddsAPI::Sport::PointWord::OrHash,
108
+ short_name: String,
109
+ sport_id: String,
110
+ square_image: String
111
+ ).returns(T.attached_class)
112
+ end
113
+ def self.new(
114
+ background_image: nil,
115
+ base_periods: nil,
116
+ clock_type: nil,
117
+ default_popularity_score: nil,
118
+ enabled: nil,
119
+ event_word: nil,
120
+ extra_periods: nil,
121
+ has_meaningful_home_away: nil,
122
+ image_icon: nil,
123
+ name: nil,
124
+ point_word: nil,
125
+ short_name: nil,
126
+ sport_id: nil,
127
+ square_image: nil
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ background_image: String,
135
+ base_periods: T::Array[String],
136
+ clock_type: String,
137
+ default_popularity_score: Float,
138
+ enabled: T::Boolean,
139
+ event_word: SportsOddsAPI::Sport::EventWord,
140
+ extra_periods: T::Array[String],
141
+ has_meaningful_home_away: T::Boolean,
142
+ image_icon: String,
143
+ name: String,
144
+ point_word: SportsOddsAPI::Sport::PointWord,
145
+ short_name: String,
146
+ sport_id: String,
147
+ square_image: String
148
+ }
149
+ )
150
+ end
151
+ def to_hash
152
+ end
153
+
154
+ class EventWord < SportsOddsAPI::Internal::Type::BaseModel
155
+ OrHash =
156
+ T.type_alias do
157
+ T.any(
158
+ SportsOddsAPI::Sport::EventWord,
159
+ SportsOddsAPI::Internal::AnyHash
160
+ )
161
+ end
162
+
163
+ sig { returns(T.nilable(SportsOddsAPI::Sport::EventWord::Long)) }
164
+ attr_reader :long
165
+
166
+ sig { params(long: SportsOddsAPI::Sport::EventWord::Long::OrHash).void }
167
+ attr_writer :long
168
+
169
+ sig { returns(T.nilable(SportsOddsAPI::Sport::EventWord::Short)) }
170
+ attr_reader :short
171
+
172
+ sig do
173
+ params(short: SportsOddsAPI::Sport::EventWord::Short::OrHash).void
174
+ end
175
+ attr_writer :short
176
+
177
+ sig do
178
+ params(
179
+ long: SportsOddsAPI::Sport::EventWord::Long::OrHash,
180
+ short: SportsOddsAPI::Sport::EventWord::Short::OrHash
181
+ ).returns(T.attached_class)
182
+ end
183
+ def self.new(long: nil, short: nil)
184
+ end
185
+
186
+ sig do
187
+ override.returns(
188
+ {
189
+ long: SportsOddsAPI::Sport::EventWord::Long,
190
+ short: SportsOddsAPI::Sport::EventWord::Short
191
+ }
192
+ )
193
+ end
194
+ def to_hash
195
+ end
196
+
197
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
198
+ OrHash =
199
+ T.type_alias do
200
+ T.any(
201
+ SportsOddsAPI::Sport::EventWord::Long,
202
+ SportsOddsAPI::Internal::AnyHash
203
+ )
204
+ end
205
+
206
+ sig { returns(T.nilable(String)) }
207
+ attr_reader :plural
208
+
209
+ sig { params(plural: String).void }
210
+ attr_writer :plural
211
+
212
+ sig { returns(T.nilable(String)) }
213
+ attr_reader :singular
214
+
215
+ sig { params(singular: String).void }
216
+ attr_writer :singular
217
+
218
+ sig do
219
+ params(plural: String, singular: String).returns(T.attached_class)
220
+ end
221
+ def self.new(plural: nil, singular: nil)
222
+ end
223
+
224
+ sig { override.returns({ plural: String, singular: String }) }
225
+ def to_hash
226
+ end
227
+ end
228
+
229
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
230
+ OrHash =
231
+ T.type_alias do
232
+ T.any(
233
+ SportsOddsAPI::Sport::EventWord::Short,
234
+ SportsOddsAPI::Internal::AnyHash
235
+ )
236
+ end
237
+
238
+ sig { returns(T.nilable(String)) }
239
+ attr_reader :plural
240
+
241
+ sig { params(plural: String).void }
242
+ attr_writer :plural
243
+
244
+ sig { returns(T.nilable(String)) }
245
+ attr_reader :singular
246
+
247
+ sig { params(singular: String).void }
248
+ attr_writer :singular
249
+
250
+ sig do
251
+ params(plural: String, singular: String).returns(T.attached_class)
252
+ end
253
+ def self.new(plural: nil, singular: nil)
254
+ end
255
+
256
+ sig { override.returns({ plural: String, singular: String }) }
257
+ def to_hash
258
+ end
259
+ end
260
+ end
261
+
262
+ class PointWord < SportsOddsAPI::Internal::Type::BaseModel
263
+ OrHash =
264
+ T.type_alias do
265
+ T.any(
266
+ SportsOddsAPI::Sport::PointWord,
267
+ SportsOddsAPI::Internal::AnyHash
268
+ )
269
+ end
270
+
271
+ sig { returns(T.nilable(SportsOddsAPI::Sport::PointWord::Long)) }
272
+ attr_reader :long
273
+
274
+ sig { params(long: SportsOddsAPI::Sport::PointWord::Long::OrHash).void }
275
+ attr_writer :long
276
+
277
+ sig { returns(T.nilable(SportsOddsAPI::Sport::PointWord::Short)) }
278
+ attr_reader :short
279
+
280
+ sig do
281
+ params(short: SportsOddsAPI::Sport::PointWord::Short::OrHash).void
282
+ end
283
+ attr_writer :short
284
+
285
+ sig do
286
+ params(
287
+ long: SportsOddsAPI::Sport::PointWord::Long::OrHash,
288
+ short: SportsOddsAPI::Sport::PointWord::Short::OrHash
289
+ ).returns(T.attached_class)
290
+ end
291
+ def self.new(long: nil, short: nil)
292
+ end
293
+
294
+ sig do
295
+ override.returns(
296
+ {
297
+ long: SportsOddsAPI::Sport::PointWord::Long,
298
+ short: SportsOddsAPI::Sport::PointWord::Short
299
+ }
300
+ )
301
+ end
302
+ def to_hash
303
+ end
304
+
305
+ class Long < SportsOddsAPI::Internal::Type::BaseModel
306
+ OrHash =
307
+ T.type_alias do
308
+ T.any(
309
+ SportsOddsAPI::Sport::PointWord::Long,
310
+ SportsOddsAPI::Internal::AnyHash
311
+ )
312
+ end
313
+
314
+ sig { returns(T.nilable(String)) }
315
+ attr_reader :plural
316
+
317
+ sig { params(plural: String).void }
318
+ attr_writer :plural
319
+
320
+ sig { returns(T.nilable(String)) }
321
+ attr_reader :singular
322
+
323
+ sig { params(singular: String).void }
324
+ attr_writer :singular
325
+
326
+ sig do
327
+ params(plural: String, singular: String).returns(T.attached_class)
328
+ end
329
+ def self.new(plural: nil, singular: nil)
330
+ end
331
+
332
+ sig { override.returns({ plural: String, singular: String }) }
333
+ def to_hash
334
+ end
335
+ end
336
+
337
+ class Short < SportsOddsAPI::Internal::Type::BaseModel
338
+ OrHash =
339
+ T.type_alias do
340
+ T.any(
341
+ SportsOddsAPI::Sport::PointWord::Short,
342
+ SportsOddsAPI::Internal::AnyHash
343
+ )
344
+ end
345
+
346
+ sig { returns(T.nilable(String)) }
347
+ attr_reader :plural
348
+
349
+ sig { params(plural: String).void }
350
+ attr_writer :plural
351
+
352
+ sig { returns(T.nilable(String)) }
353
+ attr_reader :singular
354
+
355
+ sig { params(singular: String).void }
356
+ attr_writer :singular
357
+
358
+ sig do
359
+ params(plural: String, singular: String).returns(T.attached_class)
360
+ end
361
+ def self.new(plural: nil, singular: nil)
362
+ end
363
+
364
+ sig { override.returns({ plural: String, singular: String }) }
365
+ def to_hash
366
+ end
367
+ end
368
+ end
369
+ end
370
+ end
371
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ class SportGetParams < 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::SportGetParams, SportsOddsAPI::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: SportsOddsAPI::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig do
23
+ override.returns({ request_options: SportsOddsAPI::RequestOptions })
24
+ end
25
+ def to_hash
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,11 @@
1
+ # typed: strong
2
+
3
+ module SportsOddsAPI
4
+ module Models
5
+ SportGetResponse =
6
+ T.let(
7
+ SportsOddsAPI::Internal::Type::ArrayOf[SportsOddsAPI::Sport],
8
+ SportsOddsAPI::Internal::Type::Converter
9
+ )
10
+ end
11
+ end