ftc_api_v3_client 0.1.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 (415) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +283 -0
  4. data/Rakefile +10 -0
  5. data/config.json +8 -0
  6. data/docs/ApiV3AdvancementFrom.md +22 -0
  7. data/docs/ApiV3AdvancementFromSlot.md +24 -0
  8. data/docs/ApiV3AdvancementStatus.md +15 -0
  9. data/docs/ApiV3AllianceColor.md +15 -0
  10. data/docs/ApiV3AllianceDescription.md +82 -0
  11. data/docs/ApiV3AllianceMatch.md +44 -0
  12. data/docs/ApiV3AllianceMatchDetails.md +46 -0
  13. data/docs/ApiV3AllianceMatchParticipants.md +79 -0
  14. data/docs/ApiV3AllianceMatchResults.md +22 -0
  15. data/docs/ApiV3AllianceMatchResultsDetails.md +20 -0
  16. data/docs/ApiV3AlliancePlayoffMatchParticipants.md +22 -0
  17. data/docs/ApiV3AllianceSelection.md +20 -0
  18. data/docs/ApiV3AllianceSelections.md +18 -0
  19. data/docs/ApiV3AllianceSimpleMatchParticipants.md +22 -0
  20. data/docs/ApiV3Award.md +30 -0
  21. data/docs/ApiV3AwardRecipient.md +24 -0
  22. data/docs/ApiV3AwardType.md +15 -0
  23. data/docs/ApiV3Awards.md +18 -0
  24. data/docs/ApiV3BasePlayoffSeriesDescription.md +79 -0
  25. data/docs/ApiV3BasicAllianceDescription.md +20 -0
  26. data/docs/ApiV3CenterStageRemoteScoreDetail.md +22 -0
  27. data/docs/ApiV3CenterStageScoreDetail.md +22 -0
  28. data/docs/ApiV3CompetingType.md +15 -0
  29. data/docs/ApiV3Coordinates.md +20 -0
  30. data/docs/ApiV3CsAchievementsDetail.md +56 -0
  31. data/docs/ApiV3CsEndLocation.md +15 -0
  32. data/docs/ApiV3CsPointsDetail.md +48 -0
  33. data/docs/ApiV3CsRemoteAchievementsDetail.md +44 -0
  34. data/docs/ApiV3CsRemotePointsDetail.md +46 -0
  35. data/docs/ApiV3DecodeAchievementsDetail.md +42 -0
  36. data/docs/ApiV3DecodeArtifactType.md +15 -0
  37. data/docs/ApiV3DecodePointsDetail.md +46 -0
  38. data/docs/ApiV3DecodeScoreDetail.md +22 -0
  39. data/docs/ApiV3DecodeTeleopBaseLocation.md +15 -0
  40. data/docs/ApiV3Division.md +20 -0
  41. data/docs/ApiV3DoubleEliminationSeriesDescription.md +36 -0
  42. data/docs/ApiV3DoubleElimsBracketHalf.md +15 -0
  43. data/docs/ApiV3Event.md +62 -0
  44. data/docs/ApiV3EventFormat.md +15 -0
  45. data/docs/ApiV3EventLiveStream.md +22 -0
  46. data/docs/ApiV3EventParticipant.md +22 -0
  47. data/docs/ApiV3EventParticipants.md +18 -0
  48. data/docs/ApiV3EventType.md +15 -0
  49. data/docs/ApiV3Events.md +18 -0
  50. data/docs/ApiV3FFAchievementsDetail.md +64 -0
  51. data/docs/ApiV3FFAutoLocation.md +15 -0
  52. data/docs/ApiV3FFEndLocation.md +15 -0
  53. data/docs/ApiV3FFPointsDetail.md +54 -0
  54. data/docs/ApiV3FFRemoteAchievementsDetail.md +52 -0
  55. data/docs/ApiV3FFRemotePointsDetail.md +48 -0
  56. data/docs/ApiV3FreightFrenzyRemoteScoreDetail.md +22 -0
  57. data/docs/ApiV3FreightFrenzyScoreDetail.md +22 -0
  58. data/docs/ApiV3IntoTheDeepScoreDetail.md +22 -0
  59. data/docs/ApiV3ItdAchievementsDetail.md +48 -0
  60. data/docs/ApiV3ItdAutoLocation.md +15 -0
  61. data/docs/ApiV3ItdPointsDetail.md +42 -0
  62. data/docs/ApiV3ItdTeleopLocation.md +15 -0
  63. data/docs/ApiV3JunctionElement.md +15 -0
  64. data/docs/ApiV3League.md +26 -0
  65. data/docs/ApiV3LeagueDetails.md +28 -0
  66. data/docs/ApiV3LeagueMembershipDetails.md +20 -0
  67. data/docs/ApiV3Leagues.md +18 -0
  68. data/docs/ApiV3Match.md +79 -0
  69. data/docs/ApiV3MatchAlliance.md +18 -0
  70. data/docs/ApiV3MatchDetails.md +79 -0
  71. data/docs/ApiV3MatchTeam.md +24 -0
  72. data/docs/ApiV3Matches.md +18 -0
  73. data/docs/ApiV3PitMap.md +30 -0
  74. data/docs/ApiV3PitMapCellType.md +15 -0
  75. data/docs/ApiV3PitMapElement.md +40 -0
  76. data/docs/ApiV3PitMapLabelOrientation.md +15 -0
  77. data/docs/ApiV3PlayoffAlliance.md +24 -0
  78. data/docs/ApiV3PlayoffAlliances.md +18 -0
  79. data/docs/ApiV3PlayoffMatchAlliance.md +20 -0
  80. data/docs/ApiV3PlayoffRanking.md +32 -0
  81. data/docs/ApiV3PlayoffRankings.md +18 -0
  82. data/docs/ApiV3PlayoffSeriesDescription.md +32 -0
  83. data/docs/ApiV3PlayoffStructure.md +22 -0
  84. data/docs/ApiV3PlayoffType.md +15 -0
  85. data/docs/ApiV3PowerPlayAchievementsDetail.md +52 -0
  86. data/docs/ApiV3PowerPlayAutoLocation.md +15 -0
  87. data/docs/ApiV3PowerPlayPointsDetail.md +46 -0
  88. data/docs/ApiV3PowerPlayRemoteAchievementsDetail.md +48 -0
  89. data/docs/ApiV3PowerPlayRemotePointsDetail.md +44 -0
  90. data/docs/ApiV3PowerPlayRemoteScoreDetail.md +22 -0
  91. data/docs/ApiV3PowerPlayScoreDetail.md +22 -0
  92. data/docs/ApiV3Ranking.md +32 -0
  93. data/docs/ApiV3Rankings.md +18 -0
  94. data/docs/ApiV3Region.md +20 -0
  95. data/docs/ApiV3Regions.md +18 -0
  96. data/docs/ApiV3RemoteJunctionElement.md +15 -0
  97. data/docs/ApiV3RemoteScoreDetail.md +85 -0
  98. data/docs/ApiV3RoundRobinAllianceDescription.md +20 -0
  99. data/docs/ApiV3ScoreDetail.md +94 -0
  100. data/docs/ApiV3Season.md +24 -0
  101. data/docs/ApiV3Seasons.md +20 -0
  102. data/docs/ApiV3SelectionOperation.md +15 -0
  103. data/docs/ApiV3SeriesAllianceDescription.md +22 -0
  104. data/docs/ApiV3SeriesAllianceState.md +15 -0
  105. data/docs/ApiV3SimpleEvent.md +48 -0
  106. data/docs/ApiV3SimpleTeam.md +22 -0
  107. data/docs/ApiV3SingleAwardRecipient.md +30 -0
  108. data/docs/ApiV3SingleTeamMatch.md +44 -0
  109. data/docs/ApiV3SingleTeamMatchDetails.md +46 -0
  110. data/docs/ApiV3SingleTeamMatchParticipants.md +18 -0
  111. data/docs/ApiV3SingleTeamMatchResults.md +18 -0
  112. data/docs/ApiV3SingleTeamMatchResultsDetails.md +18 -0
  113. data/docs/ApiV3SkystoneAchievementsDetail.md +54 -0
  114. data/docs/ApiV3SkystonePointsDetail.md +46 -0
  115. data/docs/ApiV3SkystoneScoreDetail.md +22 -0
  116. data/docs/ApiV3Stone.md +15 -0
  117. data/docs/ApiV3Team.md +38 -0
  118. data/docs/ApiV3TeamAvatar.md +20 -0
  119. data/docs/ApiV3TeamAvatars.md +18 -0
  120. data/docs/ApiV3TeamDetails.md +24 -0
  121. data/docs/ApiV3TeamEventParticipation.md +20 -0
  122. data/docs/ApiV3TeamEventParticipationDetails.md +26 -0
  123. data/docs/ApiV3TeamHistory.md +36 -0
  124. data/docs/ApiV3TeamSeasonHistory.md +20 -0
  125. data/docs/ApiV3Teams.md +18 -0
  126. data/docs/ApiV3TournamentLevel.md +15 -0
  127. data/docs/ApiV3UgAchievementsDetail.md +60 -0
  128. data/docs/ApiV3UgPointsDetail.md +44 -0
  129. data/docs/ApiV3UgRemoteAchievementsDetail.md +58 -0
  130. data/docs/ApiV3UgRemotePointsDetail.md +44 -0
  131. data/docs/ApiV3UgWobbleLocation.md +15 -0
  132. data/docs/ApiV3UltimateGoalRemoteScoreDetail.md +22 -0
  133. data/docs/ApiV3UltimateGoalScoreDetail.md +22 -0
  134. data/docs/EventsApi.md +977 -0
  135. data/docs/LeaguesApi.md +385 -0
  136. data/docs/RegionsApi.md +301 -0
  137. data/docs/SeasonsApi.md +148 -0
  138. data/docs/TeamsApi.md +371 -0
  139. data/ftc_api_v3_client.gemspec +39 -0
  140. data/git_push.sh +57 -0
  141. data/lib/ftc_api_v3_client/api/events_api.rb +934 -0
  142. data/lib/ftc_api_v3_client/api/leagues_api.rb +391 -0
  143. data/lib/ftc_api_v3_client/api/regions_api.rb +292 -0
  144. data/lib/ftc_api_v3_client/api/seasons_api.rb +142 -0
  145. data/lib/ftc_api_v3_client/api/teams_api.rb +349 -0
  146. data/lib/ftc_api_v3_client/api_client.rb +397 -0
  147. data/lib/ftc_api_v3_client/api_error.rb +58 -0
  148. data/lib/ftc_api_v3_client/api_model_base.rb +88 -0
  149. data/lib/ftc_api_v3_client/configuration.rb +308 -0
  150. data/lib/ftc_api_v3_client/models/api_v3_advancement_from.rb +202 -0
  151. data/lib/ftc_api_v3_client/models/api_v3_advancement_from_slot.rb +234 -0
  152. data/lib/ftc_api_v3_client/models/api_v3_advancement_status.rb +44 -0
  153. data/lib/ftc_api_v3_client/models/api_v3_alliance_color.rb +40 -0
  154. data/lib/ftc_api_v3_client/models/api_v3_alliance_description.rb +57 -0
  155. data/lib/ftc_api_v3_client/models/api_v3_alliance_match.rb +427 -0
  156. data/lib/ftc_api_v3_client/models/api_v3_alliance_match_details.rb +436 -0
  157. data/lib/ftc_api_v3_client/models/api_v3_alliance_match_participants.rb +55 -0
  158. data/lib/ftc_api_v3_client/models/api_v3_alliance_match_results.rb +221 -0
  159. data/lib/ftc_api_v3_client/models/api_v3_alliance_match_results_details.rb +190 -0
  160. data/lib/ftc_api_v3_client/models/api_v3_alliance_playoff_match_participants.rb +217 -0
  161. data/lib/ftc_api_v3_client/models/api_v3_alliance_selection.rb +212 -0
  162. data/lib/ftc_api_v3_client/models/api_v3_alliance_selections.rb +166 -0
  163. data/lib/ftc_api_v3_client/models/api_v3_alliance_simple_match_participants.rb +217 -0
  164. data/lib/ftc_api_v3_client/models/api_v3_award.rb +311 -0
  165. data/lib/ftc_api_v3_client/models/api_v3_award_recipient.rb +177 -0
  166. data/lib/ftc_api_v3_client/models/api_v3_award_type.rb +59 -0
  167. data/lib/ftc_api_v3_client/models/api_v3_awards.rb +166 -0
  168. data/lib/ftc_api_v3_client/models/api_v3_base_playoff_series_description.rb +55 -0
  169. data/lib/ftc_api_v3_client/models/api_v3_basic_alliance_description.rb +191 -0
  170. data/lib/ftc_api_v3_client/models/api_v3_center_stage_remote_score_detail.rb +217 -0
  171. data/lib/ftc_api_v3_client/models/api_v3_center_stage_score_detail.rb +217 -0
  172. data/lib/ftc_api_v3_client/models/api_v3_competing_type.rb +40 -0
  173. data/lib/ftc_api_v3_client/models/api_v3_coordinates.rb +191 -0
  174. data/lib/ftc_api_v3_client/models/api_v3_cs_achievements_detail.rb +680 -0
  175. data/lib/ftc_api_v3_client/models/api_v3_cs_end_location.rb +41 -0
  176. data/lib/ftc_api_v3_client/models/api_v3_cs_points_detail.rb +555 -0
  177. data/lib/ftc_api_v3_client/models/api_v3_cs_remote_achievements_detail.rb +524 -0
  178. data/lib/ftc_api_v3_client/models/api_v3_cs_remote_points_detail.rb +528 -0
  179. data/lib/ftc_api_v3_client/models/api_v3_decode_achievements_detail.rb +502 -0
  180. data/lib/ftc_api_v3_client/models/api_v3_decode_artifact_type.rb +41 -0
  181. data/lib/ftc_api_v3_client/models/api_v3_decode_points_detail.rb +529 -0
  182. data/lib/ftc_api_v3_client/models/api_v3_decode_score_detail.rb +217 -0
  183. data/lib/ftc_api_v3_client/models/api_v3_decode_teleop_base_location.rb +41 -0
  184. data/lib/ftc_api_v3_client/models/api_v3_division.rb +190 -0
  185. data/lib/ftc_api_v3_client/models/api_v3_double_elimination_series_description.rb +405 -0
  186. data/lib/ftc_api_v3_client/models/api_v3_double_elims_bracket_half.rb +40 -0
  187. data/lib/ftc_api_v3_client/models/api_v3_event.rb +559 -0
  188. data/lib/ftc_api_v3_client/models/api_v3_event_format.rb +41 -0
  189. data/lib/ftc_api_v3_client/models/api_v3_event_live_stream.rb +182 -0
  190. data/lib/ftc_api_v3_client/models/api_v3_event_participant.rb +221 -0
  191. data/lib/ftc_api_v3_client/models/api_v3_event_participants.rb +166 -0
  192. data/lib/ftc_api_v3_client/models/api_v3_event_type.rb +50 -0
  193. data/lib/ftc_api_v3_client/models/api_v3_events.rb +166 -0
  194. data/lib/ftc_api_v3_client/models/api_v3_ff_achievements_detail.rb +787 -0
  195. data/lib/ftc_api_v3_client/models/api_v3_ff_auto_location.rb +43 -0
  196. data/lib/ftc_api_v3_client/models/api_v3_ff_end_location.rb +41 -0
  197. data/lib/ftc_api_v3_client/models/api_v3_ff_points_detail.rb +633 -0
  198. data/lib/ftc_api_v3_client/models/api_v3_ff_remote_achievements_detail.rb +629 -0
  199. data/lib/ftc_api_v3_client/models/api_v3_ff_remote_points_detail.rb +554 -0
  200. data/lib/ftc_api_v3_client/models/api_v3_freight_frenzy_remote_score_detail.rb +217 -0
  201. data/lib/ftc_api_v3_client/models/api_v3_freight_frenzy_score_detail.rb +217 -0
  202. data/lib/ftc_api_v3_client/models/api_v3_into_the_deep_score_detail.rb +217 -0
  203. data/lib/ftc_api_v3_client/models/api_v3_itd_achievements_detail.rb +576 -0
  204. data/lib/ftc_api_v3_client/models/api_v3_itd_auto_location.rb +41 -0
  205. data/lib/ftc_api_v3_client/models/api_v3_itd_points_detail.rb +477 -0
  206. data/lib/ftc_api_v3_client/models/api_v3_itd_teleop_location.rb +43 -0
  207. data/lib/ftc_api_v3_client/models/api_v3_junction_element.rb +44 -0
  208. data/lib/ftc_api_v3_client/models/api_v3_league.rb +217 -0
  209. data/lib/ftc_api_v3_client/models/api_v3_league_details.rb +245 -0
  210. data/lib/ftc_api_v3_client/models/api_v3_league_membership_details.rb +190 -0
  211. data/lib/ftc_api_v3_client/models/api_v3_leagues.rb +166 -0
  212. data/lib/ftc_api_v3_client/models/api_v3_match.rb +55 -0
  213. data/lib/ftc_api_v3_client/models/api_v3_match_alliance.rb +166 -0
  214. data/lib/ftc_api_v3_client/models/api_v3_match_details.rb +55 -0
  215. data/lib/ftc_api_v3_client/models/api_v3_match_team.rb +209 -0
  216. data/lib/ftc_api_v3_client/models/api_v3_matches.rb +166 -0
  217. data/lib/ftc_api_v3_client/models/api_v3_pit_map.rb +322 -0
  218. data/lib/ftc_api_v3_client/models/api_v3_pit_map_cell_type.rb +45 -0
  219. data/lib/ftc_api_v3_client/models/api_v3_pit_map_element.rb +336 -0
  220. data/lib/ftc_api_v3_client/models/api_v3_pit_map_label_orientation.rb +40 -0
  221. data/lib/ftc_api_v3_client/models/api_v3_playoff_alliance.rb +212 -0
  222. data/lib/ftc_api_v3_client/models/api_v3_playoff_alliances.rb +166 -0
  223. data/lib/ftc_api_v3_client/models/api_v3_playoff_match_alliance.rb +192 -0
  224. data/lib/ftc_api_v3_client/models/api_v3_playoff_ranking.rb +348 -0
  225. data/lib/ftc_api_v3_client/models/api_v3_playoff_rankings.rb +166 -0
  226. data/lib/ftc_api_v3_client/models/api_v3_playoff_series_description.rb +347 -0
  227. data/lib/ftc_api_v3_client/models/api_v3_playoff_structure.rb +241 -0
  228. data/lib/ftc_api_v3_client/models/api_v3_playoff_type.rb +42 -0
  229. data/lib/ftc_api_v3_client/models/api_v3_power_play_achievements_detail.rb +576 -0
  230. data/lib/ftc_api_v3_client/models/api_v3_power_play_auto_location.rb +41 -0
  231. data/lib/ftc_api_v3_client/models/api_v3_power_play_points_detail.rb +529 -0
  232. data/lib/ftc_api_v3_client/models/api_v3_power_play_remote_achievements_detail.rb +538 -0
  233. data/lib/ftc_api_v3_client/models/api_v3_power_play_remote_points_detail.rb +502 -0
  234. data/lib/ftc_api_v3_client/models/api_v3_power_play_remote_score_detail.rb +217 -0
  235. data/lib/ftc_api_v3_client/models/api_v3_power_play_score_detail.rb +217 -0
  236. data/lib/ftc_api_v3_client/models/api_v3_ranking.rb +348 -0
  237. data/lib/ftc_api_v3_client/models/api_v3_rankings.rb +166 -0
  238. data/lib/ftc_api_v3_client/models/api_v3_region.rb +190 -0
  239. data/lib/ftc_api_v3_client/models/api_v3_regions.rb +166 -0
  240. data/lib/ftc_api_v3_client/models/api_v3_remote_junction_element.rb +40 -0
  241. data/lib/ftc_api_v3_client/models/api_v3_remote_score_detail.rb +59 -0
  242. data/lib/ftc_api_v3_client/models/api_v3_round_robin_alliance_description.rb +191 -0
  243. data/lib/ftc_api_v3_client/models/api_v3_score_detail.rb +65 -0
  244. data/lib/ftc_api_v3_client/models/api_v3_season.rb +242 -0
  245. data/lib/ftc_api_v3_client/models/api_v3_seasons.rb +192 -0
  246. data/lib/ftc_api_v3_client/models/api_v3_selection_operation.rb +43 -0
  247. data/lib/ftc_api_v3_client/models/api_v3_series_alliance_description.rb +239 -0
  248. data/lib/ftc_api_v3_client/models/api_v3_series_alliance_state.rb +40 -0
  249. data/lib/ftc_api_v3_client/models/api_v3_simple_event.rb +458 -0
  250. data/lib/ftc_api_v3_client/models/api_v3_simple_team.rb +217 -0
  251. data/lib/ftc_api_v3_client/models/api_v3_single_award_recipient.rb +293 -0
  252. data/lib/ftc_api_v3_client/models/api_v3_single_team_match.rb +427 -0
  253. data/lib/ftc_api_v3_client/models/api_v3_single_team_match_details.rb +436 -0
  254. data/lib/ftc_api_v3_client/models/api_v3_single_team_match_participants.rb +164 -0
  255. data/lib/ftc_api_v3_client/models/api_v3_single_team_match_results.rb +164 -0
  256. data/lib/ftc_api_v3_client/models/api_v3_single_team_match_results_details.rb +164 -0
  257. data/lib/ftc_api_v3_client/models/api_v3_skystone_achievements_detail.rb +634 -0
  258. data/lib/ftc_api_v3_client/models/api_v3_skystone_points_detail.rb +529 -0
  259. data/lib/ftc_api_v3_client/models/api_v3_skystone_score_detail.rb +217 -0
  260. data/lib/ftc_api_v3_client/models/api_v3_stone.rb +41 -0
  261. data/lib/ftc_api_v3_client/models/api_v3_team.rb +324 -0
  262. data/lib/ftc_api_v3_client/models/api_v3_team_avatar.rb +190 -0
  263. data/lib/ftc_api_v3_client/models/api_v3_team_avatars.rb +166 -0
  264. data/lib/ftc_api_v3_client/models/api_v3_team_details.rb +247 -0
  265. data/lib/ftc_api_v3_client/models/api_v3_team_event_participation.rb +192 -0
  266. data/lib/ftc_api_v3_client/models/api_v3_team_event_participation_details.rb +238 -0
  267. data/lib/ftc_api_v3_client/models/api_v3_team_history.rb +334 -0
  268. data/lib/ftc_api_v3_client/models/api_v3_team_season_history.rb +192 -0
  269. data/lib/ftc_api_v3_client/models/api_v3_teams.rb +166 -0
  270. data/lib/ftc_api_v3_client/models/api_v3_tournament_level.rb +43 -0
  271. data/lib/ftc_api_v3_client/models/api_v3_ug_achievements_detail.rb +732 -0
  272. data/lib/ftc_api_v3_client/models/api_v3_ug_points_detail.rb +503 -0
  273. data/lib/ftc_api_v3_client/models/api_v3_ug_remote_achievements_detail.rb +706 -0
  274. data/lib/ftc_api_v3_client/models/api_v3_ug_remote_points_detail.rb +503 -0
  275. data/lib/ftc_api_v3_client/models/api_v3_ug_wobble_location.rb +41 -0
  276. data/lib/ftc_api_v3_client/models/api_v3_ultimate_goal_remote_score_detail.rb +217 -0
  277. data/lib/ftc_api_v3_client/models/api_v3_ultimate_goal_score_detail.rb +217 -0
  278. data/lib/ftc_api_v3_client/version.rb +15 -0
  279. data/lib/ftc_api_v3_client.rb +173 -0
  280. data/spec/api/events_api_spec.rb +207 -0
  281. data/spec/api/leagues_api_spec.rb +104 -0
  282. data/spec/api/regions_api_spec.rb +86 -0
  283. data/spec/api/seasons_api_spec.rb +58 -0
  284. data/spec/api/teams_api_spec.rb +97 -0
  285. data/spec/models/api_v3_advancement_from_slot_spec.rb +54 -0
  286. data/spec/models/api_v3_advancement_from_spec.rb +48 -0
  287. data/spec/models/api_v3_advancement_status_spec.rb +30 -0
  288. data/spec/models/api_v3_alliance_color_spec.rb +30 -0
  289. data/spec/models/api_v3_alliance_description_spec.rb +44 -0
  290. data/spec/models/api_v3_alliance_match_details_spec.rb +120 -0
  291. data/spec/models/api_v3_alliance_match_participants_spec.rb +44 -0
  292. data/spec/models/api_v3_alliance_match_results_details_spec.rb +42 -0
  293. data/spec/models/api_v3_alliance_match_results_spec.rb +48 -0
  294. data/spec/models/api_v3_alliance_match_spec.rb +114 -0
  295. data/spec/models/api_v3_alliance_playoff_match_participants_spec.rb +48 -0
  296. data/spec/models/api_v3_alliance_selection_spec.rb +42 -0
  297. data/spec/models/api_v3_alliance_selections_spec.rb +36 -0
  298. data/spec/models/api_v3_alliance_simple_match_participants_spec.rb +48 -0
  299. data/spec/models/api_v3_award_recipient_spec.rb +54 -0
  300. data/spec/models/api_v3_award_spec.rb +72 -0
  301. data/spec/models/api_v3_award_type_spec.rb +30 -0
  302. data/spec/models/api_v3_awards_spec.rb +36 -0
  303. data/spec/models/api_v3_base_playoff_series_description_spec.rb +44 -0
  304. data/spec/models/api_v3_basic_alliance_description_spec.rb +42 -0
  305. data/spec/models/api_v3_center_stage_remote_score_detail_spec.rb +48 -0
  306. data/spec/models/api_v3_center_stage_score_detail_spec.rb +48 -0
  307. data/spec/models/api_v3_competing_type_spec.rb +30 -0
  308. data/spec/models/api_v3_coordinates_spec.rb +42 -0
  309. data/spec/models/api_v3_cs_achievements_detail_spec.rb +150 -0
  310. data/spec/models/api_v3_cs_end_location_spec.rb +30 -0
  311. data/spec/models/api_v3_cs_points_detail_spec.rb +126 -0
  312. data/spec/models/api_v3_cs_remote_achievements_detail_spec.rb +114 -0
  313. data/spec/models/api_v3_cs_remote_points_detail_spec.rb +120 -0
  314. data/spec/models/api_v3_decode_achievements_detail_spec.rb +108 -0
  315. data/spec/models/api_v3_decode_artifact_type_spec.rb +30 -0
  316. data/spec/models/api_v3_decode_points_detail_spec.rb +120 -0
  317. data/spec/models/api_v3_decode_score_detail_spec.rb +48 -0
  318. data/spec/models/api_v3_decode_teleop_base_location_spec.rb +30 -0
  319. data/spec/models/api_v3_division_spec.rb +42 -0
  320. data/spec/models/api_v3_double_elimination_series_description_spec.rb +90 -0
  321. data/spec/models/api_v3_double_elims_bracket_half_spec.rb +30 -0
  322. data/spec/models/api_v3_event_format_spec.rb +30 -0
  323. data/spec/models/api_v3_event_live_stream_spec.rb +48 -0
  324. data/spec/models/api_v3_event_participant_spec.rb +48 -0
  325. data/spec/models/api_v3_event_participants_spec.rb +36 -0
  326. data/spec/models/api_v3_event_spec.rb +168 -0
  327. data/spec/models/api_v3_event_type_spec.rb +30 -0
  328. data/spec/models/api_v3_events_spec.rb +36 -0
  329. data/spec/models/api_v3_ff_achievements_detail_spec.rb +174 -0
  330. data/spec/models/api_v3_ff_auto_location_spec.rb +30 -0
  331. data/spec/models/api_v3_ff_end_location_spec.rb +30 -0
  332. data/spec/models/api_v3_ff_points_detail_spec.rb +144 -0
  333. data/spec/models/api_v3_ff_remote_achievements_detail_spec.rb +138 -0
  334. data/spec/models/api_v3_ff_remote_points_detail_spec.rb +126 -0
  335. data/spec/models/api_v3_freight_frenzy_remote_score_detail_spec.rb +48 -0
  336. data/spec/models/api_v3_freight_frenzy_score_detail_spec.rb +48 -0
  337. data/spec/models/api_v3_into_the_deep_score_detail_spec.rb +48 -0
  338. data/spec/models/api_v3_itd_achievements_detail_spec.rb +126 -0
  339. data/spec/models/api_v3_itd_auto_location_spec.rb +30 -0
  340. data/spec/models/api_v3_itd_points_detail_spec.rb +108 -0
  341. data/spec/models/api_v3_itd_teleop_location_spec.rb +30 -0
  342. data/spec/models/api_v3_junction_element_spec.rb +30 -0
  343. data/spec/models/api_v3_league_details_spec.rb +66 -0
  344. data/spec/models/api_v3_league_membership_details_spec.rb +42 -0
  345. data/spec/models/api_v3_league_spec.rb +60 -0
  346. data/spec/models/api_v3_leagues_spec.rb +36 -0
  347. data/spec/models/api_v3_match_alliance_spec.rb +36 -0
  348. data/spec/models/api_v3_match_details_spec.rb +44 -0
  349. data/spec/models/api_v3_match_spec.rb +44 -0
  350. data/spec/models/api_v3_match_team_spec.rb +54 -0
  351. data/spec/models/api_v3_matches_spec.rb +36 -0
  352. data/spec/models/api_v3_pit_map_cell_type_spec.rb +30 -0
  353. data/spec/models/api_v3_pit_map_element_spec.rb +102 -0
  354. data/spec/models/api_v3_pit_map_label_orientation_spec.rb +30 -0
  355. data/spec/models/api_v3_pit_map_spec.rb +72 -0
  356. data/spec/models/api_v3_playoff_alliance_spec.rb +54 -0
  357. data/spec/models/api_v3_playoff_alliances_spec.rb +36 -0
  358. data/spec/models/api_v3_playoff_match_alliance_spec.rb +42 -0
  359. data/spec/models/api_v3_playoff_ranking_spec.rb +78 -0
  360. data/spec/models/api_v3_playoff_rankings_spec.rb +36 -0
  361. data/spec/models/api_v3_playoff_series_description_spec.rb +78 -0
  362. data/spec/models/api_v3_playoff_structure_spec.rb +48 -0
  363. data/spec/models/api_v3_playoff_type_spec.rb +30 -0
  364. data/spec/models/api_v3_power_play_achievements_detail_spec.rb +138 -0
  365. data/spec/models/api_v3_power_play_auto_location_spec.rb +30 -0
  366. data/spec/models/api_v3_power_play_points_detail_spec.rb +120 -0
  367. data/spec/models/api_v3_power_play_remote_achievements_detail_spec.rb +126 -0
  368. data/spec/models/api_v3_power_play_remote_points_detail_spec.rb +114 -0
  369. data/spec/models/api_v3_power_play_remote_score_detail_spec.rb +48 -0
  370. data/spec/models/api_v3_power_play_score_detail_spec.rb +48 -0
  371. data/spec/models/api_v3_ranking_spec.rb +78 -0
  372. data/spec/models/api_v3_rankings_spec.rb +36 -0
  373. data/spec/models/api_v3_region_spec.rb +42 -0
  374. data/spec/models/api_v3_regions_spec.rb +36 -0
  375. data/spec/models/api_v3_remote_junction_element_spec.rb +30 -0
  376. data/spec/models/api_v3_remote_score_detail_spec.rb +44 -0
  377. data/spec/models/api_v3_round_robin_alliance_description_spec.rb +42 -0
  378. data/spec/models/api_v3_score_detail_spec.rb +44 -0
  379. data/spec/models/api_v3_season_spec.rb +54 -0
  380. data/spec/models/api_v3_seasons_spec.rb +42 -0
  381. data/spec/models/api_v3_selection_operation_spec.rb +30 -0
  382. data/spec/models/api_v3_series_alliance_description_spec.rb +48 -0
  383. data/spec/models/api_v3_series_alliance_state_spec.rb +30 -0
  384. data/spec/models/api_v3_simple_event_spec.rb +126 -0
  385. data/spec/models/api_v3_simple_team_spec.rb +48 -0
  386. data/spec/models/api_v3_single_award_recipient_spec.rb +72 -0
  387. data/spec/models/api_v3_single_team_match_details_spec.rb +120 -0
  388. data/spec/models/api_v3_single_team_match_participants_spec.rb +36 -0
  389. data/spec/models/api_v3_single_team_match_results_details_spec.rb +36 -0
  390. data/spec/models/api_v3_single_team_match_results_spec.rb +36 -0
  391. data/spec/models/api_v3_single_team_match_spec.rb +114 -0
  392. data/spec/models/api_v3_skystone_achievements_detail_spec.rb +144 -0
  393. data/spec/models/api_v3_skystone_points_detail_spec.rb +120 -0
  394. data/spec/models/api_v3_skystone_score_detail_spec.rb +48 -0
  395. data/spec/models/api_v3_stone_spec.rb +30 -0
  396. data/spec/models/api_v3_team_avatar_spec.rb +42 -0
  397. data/spec/models/api_v3_team_avatars_spec.rb +36 -0
  398. data/spec/models/api_v3_team_details_spec.rb +54 -0
  399. data/spec/models/api_v3_team_event_participation_details_spec.rb +60 -0
  400. data/spec/models/api_v3_team_event_participation_spec.rb +42 -0
  401. data/spec/models/api_v3_team_history_spec.rb +90 -0
  402. data/spec/models/api_v3_team_season_history_spec.rb +42 -0
  403. data/spec/models/api_v3_team_spec.rb +96 -0
  404. data/spec/models/api_v3_teams_spec.rb +36 -0
  405. data/spec/models/api_v3_tournament_level_spec.rb +30 -0
  406. data/spec/models/api_v3_ug_achievements_detail_spec.rb +162 -0
  407. data/spec/models/api_v3_ug_points_detail_spec.rb +114 -0
  408. data/spec/models/api_v3_ug_remote_achievements_detail_spec.rb +156 -0
  409. data/spec/models/api_v3_ug_remote_points_detail_spec.rb +114 -0
  410. data/spec/models/api_v3_ug_wobble_location_spec.rb +30 -0
  411. data/spec/models/api_v3_ultimate_goal_remote_score_detail_spec.rb +48 -0
  412. data/spec/models/api_v3_ultimate_goal_score_detail_spec.rb +48 -0
  413. data/spec/spec_helper.rb +111 -0
  414. data/update.sh +1 -0
  415. metadata +630 -0
@@ -0,0 +1,576 @@
1
+ =begin
2
+ #FTC Scoring Data API
3
+
4
+ #THIS API IS CURRENTLY IN EARLY DEVELOPMENT AND MAY CHANGE WITHOUT WARNING. THIS PAGE WILL BE UPDATED ONCE THE API IS OFFICIALLY RELEASED. This API provides event and scoring data for FIRST Tech Challenge. Applications that present result data directly are encouraged to directly call this API rather than maintaining their own copies of the data. All endpoints are cached by our CDN and may return data up to one hour old for data that changes infrequently. During an event, data that changes frequently (e.g. match results and rankings) should not be more than 30 seconds old. NOTE: For developers who have integrated with the v2 API in the past, this is a policy shift, as previously developers were encouraged to maintain their own copy of relevant data. In the interest of providing the community with the most up-to-date data and reducing the burden for applications that are not performing their own analytics on event data, we are now encouraging directly integrating our API into websites and apps. Also note that all endpoints that accept a year argument now expect the year in which the FIRST Championship for that season is held. This is a change from the previous API and FTC-events website, which used the kickoff year. To report any issues, please report an issue here: https://github.com/FIRST-Tech-Challenge/scorekeeper/issues/new?template=api-bug-report.md To request additional data, please submit a feature request here: https://github.com/FIRST-Tech-Challenge/scorekeeper/issues/new?template=api-feature-request.md
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.20.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FtcApiV3Client
17
+ class ApiV3PowerPlayAchievementsDetail < ApiModelBase
18
+ attr_accessor :robot1_auto
19
+
20
+ attr_accessor :robot2_auto
21
+
22
+ attr_accessor :auto_terminal
23
+
24
+ attr_accessor :eg_navigated1
25
+
26
+ attr_accessor :eg_navigated2
27
+
28
+ attr_accessor :minor_penalties
29
+
30
+ attr_accessor :major_penalties
31
+
32
+ attr_accessor :beacons
33
+
34
+ attr_accessor :owned_junctions
35
+
36
+ attr_accessor :circuit
37
+
38
+ # Indicates if team 1 used a team-supplied signal sleave
39
+ attr_accessor :init_signal_sleeve1
40
+
41
+ # Indicates if team 2 used a team-supplied signal sleave
42
+ attr_accessor :init_signal_sleeve2
43
+
44
+ # Two dimensional array of lists of items scored on junctions in autonomous. [0,0] is the upper-left corner of the field as viewed from the audience side of the field (V5). The array is indexed by row, then column. (e.g [0,4] is in the upper right corner of the field (Z5).) Each junction is stored bottom up (index 0 is the bottom-most element on the field). MY_* elements belong to the alliance whose score object the element appears in, OTHER_* elements belong to the opposing alliance. (e.g in a set of scores for the red alliance, MY_CONE is a red cone and OTHER_CONE is a blue cone.) For a complete example, if red.autoJunctions[4][0][1] is OTHER_CONE, there is a blue cone in the bottom left cornerof the field (V1) on top of one other cone.
45
+ attr_accessor :auto_junctions
46
+
47
+ # Two dimensional array of lists of items scored on junctions in driver-controlled. [0,0] is the upper-left corner of the field as viewed from the audience side of the field (V5). The array is indexed by crow, then column. (e.g [0,4] is in the upper right corner of the field (Z5).) Each junction is stored bottom up (index 0 is the bottom-most element on the field). MY_* elements belong to the alliance whose score object the element appears in, OTHER_* elements belong to the opposing alliance. (e.g in a set of scores for the red alliance, MY_CONE is a red cone and OTHER_CONE is a blue cone.) *_R1_BEACON means the beacon scored by robot 1 on the corresponding alliance. For a complete example, if red.dcJunctions[4][0][1] is OTHER_CONE, there is a blue cone in the bottom left cornerof the field (V1) on top of one other cone.
48
+ attr_accessor :dc_junctions
49
+
50
+ # Number of Scored cones in the alliance-colored terminal on the side of the field closest to the alliance station.
51
+ attr_accessor :dc_terminal_near
52
+
53
+ # Number of Scored cones in the alliance-colored terminal on the side of the field opposite the alliance station.
54
+ attr_accessor :dc_terminal_far
55
+
56
+ # Array of 4 cone counts scored by this alliance on ground, low, medium, and high junctions respectively, scored in autonomous. E.g. red.autoJunctionCones[2] is the total number of cones scored by red on medium-height junctions.
57
+ attr_accessor :auto_junction_cones
58
+
59
+ # Array of 4 cone counts scored by this alliance on ground, low, medium, and high junctions respectively, scored in driver-controlled. E.g. red.dcJunctionCones[2] is the total number of cones scored by red on medium-height junctions.
60
+ attr_accessor :dc_junction_cones
61
+
62
+ class EnumAttributeValidator
63
+ attr_reader :datatype
64
+ attr_reader :allowable_values
65
+
66
+ def initialize(datatype, allowable_values)
67
+ @allowable_values = allowable_values.map do |value|
68
+ case datatype.to_s
69
+ when /Integer/i
70
+ value.to_i
71
+ when /Float/i
72
+ value.to_f
73
+ else
74
+ value
75
+ end
76
+ end
77
+ end
78
+
79
+ def valid?(value)
80
+ !value || allowable_values.include?(value)
81
+ end
82
+ end
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'robot1_auto' => :'robot1Auto',
88
+ :'robot2_auto' => :'robot2Auto',
89
+ :'auto_terminal' => :'autoTerminal',
90
+ :'eg_navigated1' => :'egNavigated1',
91
+ :'eg_navigated2' => :'egNavigated2',
92
+ :'minor_penalties' => :'minorPenalties',
93
+ :'major_penalties' => :'majorPenalties',
94
+ :'beacons' => :'beacons',
95
+ :'owned_junctions' => :'ownedJunctions',
96
+ :'circuit' => :'circuit',
97
+ :'init_signal_sleeve1' => :'initSignalSleeve1',
98
+ :'init_signal_sleeve2' => :'initSignalSleeve2',
99
+ :'auto_junctions' => :'autoJunctions',
100
+ :'dc_junctions' => :'dcJunctions',
101
+ :'dc_terminal_near' => :'dcTerminalNear',
102
+ :'dc_terminal_far' => :'dcTerminalFar',
103
+ :'auto_junction_cones' => :'autoJunctionCones',
104
+ :'dc_junction_cones' => :'dcJunctionCones'
105
+ }
106
+ end
107
+
108
+ # Returns attribute mapping this model knows about
109
+ def self.acceptable_attribute_map
110
+ attribute_map
111
+ end
112
+
113
+ # Returns all the JSON keys this model knows about
114
+ def self.acceptable_attributes
115
+ acceptable_attribute_map.values
116
+ end
117
+
118
+ # Attribute type mapping.
119
+ def self.openapi_types
120
+ {
121
+ :'robot1_auto' => :'ApiV3PowerPlayAutoLocation',
122
+ :'robot2_auto' => :'ApiV3PowerPlayAutoLocation',
123
+ :'auto_terminal' => :'Integer',
124
+ :'eg_navigated1' => :'Boolean',
125
+ :'eg_navigated2' => :'Boolean',
126
+ :'minor_penalties' => :'Integer',
127
+ :'major_penalties' => :'Integer',
128
+ :'beacons' => :'Integer',
129
+ :'owned_junctions' => :'Integer',
130
+ :'circuit' => :'Boolean',
131
+ :'init_signal_sleeve1' => :'Boolean',
132
+ :'init_signal_sleeve2' => :'Boolean',
133
+ :'auto_junctions' => :'Array<ApiV3JunctionElement>',
134
+ :'dc_junctions' => :'Array<ApiV3JunctionElement>',
135
+ :'dc_terminal_near' => :'Integer',
136
+ :'dc_terminal_far' => :'Integer',
137
+ :'auto_junction_cones' => :'Array<Integer>',
138
+ :'dc_junction_cones' => :'Array<Integer>'
139
+ }
140
+ end
141
+
142
+ # List of attributes with nullable: true
143
+ def self.openapi_nullable
144
+ Set.new([
145
+ ])
146
+ end
147
+
148
+ # Initializes the object
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ def initialize(attributes = {})
151
+ if (!attributes.is_a?(Hash))
152
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FtcApiV3Client::ApiV3PowerPlayAchievementsDetail` initialize method"
153
+ end
154
+
155
+ # check to see if the attribute exists and convert string to symbol for hash key
156
+ acceptable_attribute_map = self.class.acceptable_attribute_map
157
+ attributes = attributes.each_with_object({}) { |(k, v), h|
158
+ if (!acceptable_attribute_map.key?(k.to_sym))
159
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FtcApiV3Client::ApiV3PowerPlayAchievementsDetail`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
160
+ end
161
+ h[k.to_sym] = v
162
+ }
163
+
164
+ if attributes.key?(:'robot1_auto')
165
+ self.robot1_auto = attributes[:'robot1_auto']
166
+ end
167
+
168
+ if attributes.key?(:'robot2_auto')
169
+ self.robot2_auto = attributes[:'robot2_auto']
170
+ end
171
+
172
+ if attributes.key?(:'auto_terminal')
173
+ self.auto_terminal = attributes[:'auto_terminal']
174
+ else
175
+ self.auto_terminal = nil
176
+ end
177
+
178
+ if attributes.key?(:'eg_navigated1')
179
+ self.eg_navigated1 = attributes[:'eg_navigated1']
180
+ else
181
+ self.eg_navigated1 = nil
182
+ end
183
+
184
+ if attributes.key?(:'eg_navigated2')
185
+ self.eg_navigated2 = attributes[:'eg_navigated2']
186
+ else
187
+ self.eg_navigated2 = nil
188
+ end
189
+
190
+ if attributes.key?(:'minor_penalties')
191
+ self.minor_penalties = attributes[:'minor_penalties']
192
+ else
193
+ self.minor_penalties = nil
194
+ end
195
+
196
+ if attributes.key?(:'major_penalties')
197
+ self.major_penalties = attributes[:'major_penalties']
198
+ else
199
+ self.major_penalties = nil
200
+ end
201
+
202
+ if attributes.key?(:'beacons')
203
+ self.beacons = attributes[:'beacons']
204
+ else
205
+ self.beacons = nil
206
+ end
207
+
208
+ if attributes.key?(:'owned_junctions')
209
+ self.owned_junctions = attributes[:'owned_junctions']
210
+ else
211
+ self.owned_junctions = nil
212
+ end
213
+
214
+ if attributes.key?(:'circuit')
215
+ self.circuit = attributes[:'circuit']
216
+ else
217
+ self.circuit = nil
218
+ end
219
+
220
+ if attributes.key?(:'init_signal_sleeve1')
221
+ self.init_signal_sleeve1 = attributes[:'init_signal_sleeve1']
222
+ else
223
+ self.init_signal_sleeve1 = nil
224
+ end
225
+
226
+ if attributes.key?(:'init_signal_sleeve2')
227
+ self.init_signal_sleeve2 = attributes[:'init_signal_sleeve2']
228
+ else
229
+ self.init_signal_sleeve2 = nil
230
+ end
231
+
232
+ if attributes.key?(:'auto_junctions')
233
+ if (value = attributes[:'auto_junctions']).is_a?(Array)
234
+ self.auto_junctions = value
235
+ end
236
+ else
237
+ self.auto_junctions = nil
238
+ end
239
+
240
+ if attributes.key?(:'dc_junctions')
241
+ if (value = attributes[:'dc_junctions']).is_a?(Array)
242
+ self.dc_junctions = value
243
+ end
244
+ else
245
+ self.dc_junctions = nil
246
+ end
247
+
248
+ if attributes.key?(:'dc_terminal_near')
249
+ self.dc_terminal_near = attributes[:'dc_terminal_near']
250
+ else
251
+ self.dc_terminal_near = nil
252
+ end
253
+
254
+ if attributes.key?(:'dc_terminal_far')
255
+ self.dc_terminal_far = attributes[:'dc_terminal_far']
256
+ else
257
+ self.dc_terminal_far = nil
258
+ end
259
+
260
+ if attributes.key?(:'auto_junction_cones')
261
+ if (value = attributes[:'auto_junction_cones']).is_a?(Array)
262
+ self.auto_junction_cones = value
263
+ end
264
+ end
265
+
266
+ if attributes.key?(:'dc_junction_cones')
267
+ if (value = attributes[:'dc_junction_cones']).is_a?(Array)
268
+ self.dc_junction_cones = value
269
+ end
270
+ end
271
+ end
272
+
273
+ # Show invalid properties with the reasons. Usually used together with valid?
274
+ # @return Array for valid properties with the reasons
275
+ def list_invalid_properties
276
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
277
+ invalid_properties = Array.new
278
+ if @auto_terminal.nil?
279
+ invalid_properties.push('invalid value for "auto_terminal", auto_terminal cannot be nil.')
280
+ end
281
+
282
+ if @eg_navigated1.nil?
283
+ invalid_properties.push('invalid value for "eg_navigated1", eg_navigated1 cannot be nil.')
284
+ end
285
+
286
+ if @eg_navigated2.nil?
287
+ invalid_properties.push('invalid value for "eg_navigated2", eg_navigated2 cannot be nil.')
288
+ end
289
+
290
+ if @minor_penalties.nil?
291
+ invalid_properties.push('invalid value for "minor_penalties", minor_penalties cannot be nil.')
292
+ end
293
+
294
+ if @major_penalties.nil?
295
+ invalid_properties.push('invalid value for "major_penalties", major_penalties cannot be nil.')
296
+ end
297
+
298
+ if @beacons.nil?
299
+ invalid_properties.push('invalid value for "beacons", beacons cannot be nil.')
300
+ end
301
+
302
+ if @owned_junctions.nil?
303
+ invalid_properties.push('invalid value for "owned_junctions", owned_junctions cannot be nil.')
304
+ end
305
+
306
+ if @circuit.nil?
307
+ invalid_properties.push('invalid value for "circuit", circuit cannot be nil.')
308
+ end
309
+
310
+ if @init_signal_sleeve1.nil?
311
+ invalid_properties.push('invalid value for "init_signal_sleeve1", init_signal_sleeve1 cannot be nil.')
312
+ end
313
+
314
+ if @init_signal_sleeve2.nil?
315
+ invalid_properties.push('invalid value for "init_signal_sleeve2", init_signal_sleeve2 cannot be nil.')
316
+ end
317
+
318
+ if @auto_junctions.nil?
319
+ invalid_properties.push('invalid value for "auto_junctions", auto_junctions cannot be nil.')
320
+ end
321
+
322
+ if @dc_junctions.nil?
323
+ invalid_properties.push('invalid value for "dc_junctions", dc_junctions cannot be nil.')
324
+ end
325
+
326
+ if @dc_terminal_near.nil?
327
+ invalid_properties.push('invalid value for "dc_terminal_near", dc_terminal_near cannot be nil.')
328
+ end
329
+
330
+ if @dc_terminal_far.nil?
331
+ invalid_properties.push('invalid value for "dc_terminal_far", dc_terminal_far cannot be nil.')
332
+ end
333
+
334
+ invalid_properties
335
+ end
336
+
337
+ # Check to see if the all the properties in the model are valid
338
+ # @return true if the model is valid
339
+ def valid?
340
+ warn '[DEPRECATED] the `valid?` method is obsolete'
341
+ return false if @auto_terminal.nil?
342
+ return false if @eg_navigated1.nil?
343
+ return false if @eg_navigated2.nil?
344
+ return false if @minor_penalties.nil?
345
+ return false if @major_penalties.nil?
346
+ return false if @beacons.nil?
347
+ return false if @owned_junctions.nil?
348
+ return false if @circuit.nil?
349
+ return false if @init_signal_sleeve1.nil?
350
+ return false if @init_signal_sleeve2.nil?
351
+ return false if @auto_junctions.nil?
352
+ return false if @dc_junctions.nil?
353
+ return false if @dc_terminal_near.nil?
354
+ return false if @dc_terminal_far.nil?
355
+ true
356
+ end
357
+
358
+ # Custom attribute writer method with validation
359
+ # @param [Object] auto_terminal Value to be assigned
360
+ def auto_terminal=(auto_terminal)
361
+ if auto_terminal.nil?
362
+ fail ArgumentError, 'auto_terminal cannot be nil'
363
+ end
364
+
365
+ @auto_terminal = auto_terminal
366
+ end
367
+
368
+ # Custom attribute writer method with validation
369
+ # @param [Object] eg_navigated1 Value to be assigned
370
+ def eg_navigated1=(eg_navigated1)
371
+ if eg_navigated1.nil?
372
+ fail ArgumentError, 'eg_navigated1 cannot be nil'
373
+ end
374
+
375
+ @eg_navigated1 = eg_navigated1
376
+ end
377
+
378
+ # Custom attribute writer method with validation
379
+ # @param [Object] eg_navigated2 Value to be assigned
380
+ def eg_navigated2=(eg_navigated2)
381
+ if eg_navigated2.nil?
382
+ fail ArgumentError, 'eg_navigated2 cannot be nil'
383
+ end
384
+
385
+ @eg_navigated2 = eg_navigated2
386
+ end
387
+
388
+ # Custom attribute writer method with validation
389
+ # @param [Object] minor_penalties Value to be assigned
390
+ def minor_penalties=(minor_penalties)
391
+ if minor_penalties.nil?
392
+ fail ArgumentError, 'minor_penalties cannot be nil'
393
+ end
394
+
395
+ @minor_penalties = minor_penalties
396
+ end
397
+
398
+ # Custom attribute writer method with validation
399
+ # @param [Object] major_penalties Value to be assigned
400
+ def major_penalties=(major_penalties)
401
+ if major_penalties.nil?
402
+ fail ArgumentError, 'major_penalties cannot be nil'
403
+ end
404
+
405
+ @major_penalties = major_penalties
406
+ end
407
+
408
+ # Custom attribute writer method with validation
409
+ # @param [Object] beacons Value to be assigned
410
+ def beacons=(beacons)
411
+ if beacons.nil?
412
+ fail ArgumentError, 'beacons cannot be nil'
413
+ end
414
+
415
+ @beacons = beacons
416
+ end
417
+
418
+ # Custom attribute writer method with validation
419
+ # @param [Object] owned_junctions Value to be assigned
420
+ def owned_junctions=(owned_junctions)
421
+ if owned_junctions.nil?
422
+ fail ArgumentError, 'owned_junctions cannot be nil'
423
+ end
424
+
425
+ @owned_junctions = owned_junctions
426
+ end
427
+
428
+ # Custom attribute writer method with validation
429
+ # @param [Object] circuit Value to be assigned
430
+ def circuit=(circuit)
431
+ if circuit.nil?
432
+ fail ArgumentError, 'circuit cannot be nil'
433
+ end
434
+
435
+ @circuit = circuit
436
+ end
437
+
438
+ # Custom attribute writer method with validation
439
+ # @param [Object] init_signal_sleeve1 Value to be assigned
440
+ def init_signal_sleeve1=(init_signal_sleeve1)
441
+ if init_signal_sleeve1.nil?
442
+ fail ArgumentError, 'init_signal_sleeve1 cannot be nil'
443
+ end
444
+
445
+ @init_signal_sleeve1 = init_signal_sleeve1
446
+ end
447
+
448
+ # Custom attribute writer method with validation
449
+ # @param [Object] init_signal_sleeve2 Value to be assigned
450
+ def init_signal_sleeve2=(init_signal_sleeve2)
451
+ if init_signal_sleeve2.nil?
452
+ fail ArgumentError, 'init_signal_sleeve2 cannot be nil'
453
+ end
454
+
455
+ @init_signal_sleeve2 = init_signal_sleeve2
456
+ end
457
+
458
+ # Custom attribute writer method with validation
459
+ # @param [Object] auto_junctions Value to be assigned
460
+ def auto_junctions=(auto_junctions)
461
+ if auto_junctions.nil?
462
+ fail ArgumentError, 'auto_junctions cannot be nil'
463
+ end
464
+
465
+ @auto_junctions = auto_junctions
466
+ end
467
+
468
+ # Custom attribute writer method with validation
469
+ # @param [Object] dc_junctions Value to be assigned
470
+ def dc_junctions=(dc_junctions)
471
+ if dc_junctions.nil?
472
+ fail ArgumentError, 'dc_junctions cannot be nil'
473
+ end
474
+
475
+ @dc_junctions = dc_junctions
476
+ end
477
+
478
+ # Custom attribute writer method with validation
479
+ # @param [Object] dc_terminal_near Value to be assigned
480
+ def dc_terminal_near=(dc_terminal_near)
481
+ if dc_terminal_near.nil?
482
+ fail ArgumentError, 'dc_terminal_near cannot be nil'
483
+ end
484
+
485
+ @dc_terminal_near = dc_terminal_near
486
+ end
487
+
488
+ # Custom attribute writer method with validation
489
+ # @param [Object] dc_terminal_far Value to be assigned
490
+ def dc_terminal_far=(dc_terminal_far)
491
+ if dc_terminal_far.nil?
492
+ fail ArgumentError, 'dc_terminal_far cannot be nil'
493
+ end
494
+
495
+ @dc_terminal_far = dc_terminal_far
496
+ end
497
+
498
+ # Checks equality by comparing each attribute.
499
+ # @param [Object] Object to be compared
500
+ def ==(o)
501
+ return true if self.equal?(o)
502
+ self.class == o.class &&
503
+ robot1_auto == o.robot1_auto &&
504
+ robot2_auto == o.robot2_auto &&
505
+ auto_terminal == o.auto_terminal &&
506
+ eg_navigated1 == o.eg_navigated1 &&
507
+ eg_navigated2 == o.eg_navigated2 &&
508
+ minor_penalties == o.minor_penalties &&
509
+ major_penalties == o.major_penalties &&
510
+ beacons == o.beacons &&
511
+ owned_junctions == o.owned_junctions &&
512
+ circuit == o.circuit &&
513
+ init_signal_sleeve1 == o.init_signal_sleeve1 &&
514
+ init_signal_sleeve2 == o.init_signal_sleeve2 &&
515
+ auto_junctions == o.auto_junctions &&
516
+ dc_junctions == o.dc_junctions &&
517
+ dc_terminal_near == o.dc_terminal_near &&
518
+ dc_terminal_far == o.dc_terminal_far &&
519
+ auto_junction_cones == o.auto_junction_cones &&
520
+ dc_junction_cones == o.dc_junction_cones
521
+ end
522
+
523
+ # @see the `==` method
524
+ # @param [Object] Object to be compared
525
+ def eql?(o)
526
+ self == o
527
+ end
528
+
529
+ # Calculates hash code according to all attributes.
530
+ # @return [Integer] Hash code
531
+ def hash
532
+ [robot1_auto, robot2_auto, auto_terminal, eg_navigated1, eg_navigated2, minor_penalties, major_penalties, beacons, owned_junctions, circuit, init_signal_sleeve1, init_signal_sleeve2, auto_junctions, dc_junctions, dc_terminal_near, dc_terminal_far, auto_junction_cones, dc_junction_cones].hash
533
+ end
534
+
535
+ # Builds the object from hash
536
+ # @param [Hash] attributes Model attributes in the form of hash
537
+ # @return [Object] Returns the model itself
538
+ def self.build_from_hash(attributes)
539
+ return nil unless attributes.is_a?(Hash)
540
+ attributes = attributes.transform_keys(&:to_sym)
541
+ transformed_hash = {}
542
+ openapi_types.each_pair do |key, type|
543
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
544
+ transformed_hash["#{key}"] = nil
545
+ elsif type =~ /\AArray<(.*)>/i
546
+ # check to ensure the input is an array given that the attribute
547
+ # is documented as an array but the input is not
548
+ if attributes[attribute_map[key]].is_a?(Array)
549
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
550
+ end
551
+ elsif !attributes[attribute_map[key]].nil?
552
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
553
+ end
554
+ end
555
+ new(transformed_hash)
556
+ end
557
+
558
+ # Returns the object in the form of hash
559
+ # @return [Hash] Returns the object in the form of hash
560
+ def to_hash
561
+ hash = {}
562
+ self.class.attribute_map.each_pair do |attr, param|
563
+ value = self.send(attr)
564
+ if value.nil?
565
+ is_nullable = self.class.openapi_nullable.include?(attr)
566
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
567
+ end
568
+
569
+ hash[param] = _to_hash(value)
570
+ end
571
+ hash
572
+ end
573
+
574
+ end
575
+
576
+ end
@@ -0,0 +1,41 @@
1
+ =begin
2
+ #FTC Scoring Data API
3
+
4
+ #THIS API IS CURRENTLY IN EARLY DEVELOPMENT AND MAY CHANGE WITHOUT WARNING. THIS PAGE WILL BE UPDATED ONCE THE API IS OFFICIALLY RELEASED. This API provides event and scoring data for FIRST Tech Challenge. Applications that present result data directly are encouraged to directly call this API rather than maintaining their own copies of the data. All endpoints are cached by our CDN and may return data up to one hour old for data that changes infrequently. During an event, data that changes frequently (e.g. match results and rankings) should not be more than 30 seconds old. NOTE: For developers who have integrated with the v2 API in the past, this is a policy shift, as previously developers were encouraged to maintain their own copy of relevant data. In the interest of providing the community with the most up-to-date data and reducing the burden for applications that are not performing their own analytics on event data, we are now encouraging directly integrating our API into websites and apps. Also note that all endpoints that accept a year argument now expect the year in which the FIRST Championship for that season is held. This is a change from the previous API and FTC-events website, which used the kickoff year. To report any issues, please report an issue here: https://github.com/FIRST-Tech-Challenge/scorekeeper/issues/new?template=api-bug-report.md To request additional data, please submit a feature request here: https://github.com/FIRST-Tech-Challenge/scorekeeper/issues/new?template=api-feature-request.md
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.20.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FtcApiV3Client
17
+ class ApiV3PowerPlayAutoLocation
18
+ NONE = "NONE".freeze
19
+ SUBSTATION_TERMINAL = "SUBSTATION_TERMINAL".freeze
20
+ SIGNAL_ZONE = "SIGNAL_ZONE".freeze
21
+
22
+ def self.all_vars
23
+ @all_vars ||= [NONE, SUBSTATION_TERMINAL, SIGNAL_ZONE].freeze
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def self.build_from_hash(value)
30
+ new.build_from_hash(value)
31
+ end
32
+
33
+ # Builds the enum from string
34
+ # @param [String] The enum value in the form of the string
35
+ # @return [String] The enum value
36
+ def build_from_hash(value)
37
+ return value if ApiV3PowerPlayAutoLocation.all_vars.include?(value)
38
+ raise "Invalid ENUM value #{value} for class #ApiV3PowerPlayAutoLocation"
39
+ end
40
+ end
41
+ end