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,680 @@
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 ApiV3CsAchievementsDetail < ApiModelBase
18
+ attr_accessor :init_team_prop1
19
+
20
+ attr_accessor :init_team_prop2
21
+
22
+ attr_accessor :robot1_auto
23
+
24
+ attr_accessor :robot2_auto
25
+
26
+ attr_accessor :spike_mark_pixel1
27
+
28
+ attr_accessor :spike_mark_pixel2
29
+
30
+ attr_accessor :target_backdrop_pixel1
31
+
32
+ attr_accessor :target_backdrop_pixel2
33
+
34
+ attr_accessor :auto_backdrop
35
+
36
+ attr_accessor :auto_backstage
37
+
38
+ attr_accessor :dc_backdrop
39
+
40
+ attr_accessor :dc_backstage
41
+
42
+ attr_accessor :mosaics
43
+
44
+ attr_accessor :max_set_line
45
+
46
+ attr_accessor :eg_robot1
47
+
48
+ attr_accessor :eg_robot2
49
+
50
+ attr_accessor :drone1
51
+
52
+ attr_accessor :drone2
53
+
54
+ attr_accessor :minor_penalties
55
+
56
+ attr_accessor :major_penalties
57
+
58
+ class EnumAttributeValidator
59
+ attr_reader :datatype
60
+ attr_reader :allowable_values
61
+
62
+ def initialize(datatype, allowable_values)
63
+ @allowable_values = allowable_values.map do |value|
64
+ case datatype.to_s
65
+ when /Integer/i
66
+ value.to_i
67
+ when /Float/i
68
+ value.to_f
69
+ else
70
+ value
71
+ end
72
+ end
73
+ end
74
+
75
+ def valid?(value)
76
+ !value || allowable_values.include?(value)
77
+ end
78
+ end
79
+
80
+ # Attribute mapping from ruby-style variable name to JSON key.
81
+ def self.attribute_map
82
+ {
83
+ :'init_team_prop1' => :'initTeamProp1',
84
+ :'init_team_prop2' => :'initTeamProp2',
85
+ :'robot1_auto' => :'robot1Auto',
86
+ :'robot2_auto' => :'robot2Auto',
87
+ :'spike_mark_pixel1' => :'spikeMarkPixel1',
88
+ :'spike_mark_pixel2' => :'spikeMarkPixel2',
89
+ :'target_backdrop_pixel1' => :'targetBackdropPixel1',
90
+ :'target_backdrop_pixel2' => :'targetBackdropPixel2',
91
+ :'auto_backdrop' => :'autoBackdrop',
92
+ :'auto_backstage' => :'autoBackstage',
93
+ :'dc_backdrop' => :'dcBackdrop',
94
+ :'dc_backstage' => :'dcBackstage',
95
+ :'mosaics' => :'mosaics',
96
+ :'max_set_line' => :'maxSetLine',
97
+ :'eg_robot1' => :'egRobot1',
98
+ :'eg_robot2' => :'egRobot2',
99
+ :'drone1' => :'drone1',
100
+ :'drone2' => :'drone2',
101
+ :'minor_penalties' => :'minorPenalties',
102
+ :'major_penalties' => :'majorPenalties'
103
+ }
104
+ end
105
+
106
+ # Returns attribute mapping this model knows about
107
+ def self.acceptable_attribute_map
108
+ attribute_map
109
+ end
110
+
111
+ # Returns all the JSON keys this model knows about
112
+ def self.acceptable_attributes
113
+ acceptable_attribute_map.values
114
+ end
115
+
116
+ # Attribute type mapping.
117
+ def self.openapi_types
118
+ {
119
+ :'init_team_prop1' => :'Boolean',
120
+ :'init_team_prop2' => :'Boolean',
121
+ :'robot1_auto' => :'Boolean',
122
+ :'robot2_auto' => :'Boolean',
123
+ :'spike_mark_pixel1' => :'Boolean',
124
+ :'spike_mark_pixel2' => :'Boolean',
125
+ :'target_backdrop_pixel1' => :'Boolean',
126
+ :'target_backdrop_pixel2' => :'Boolean',
127
+ :'auto_backdrop' => :'Integer',
128
+ :'auto_backstage' => :'Integer',
129
+ :'dc_backdrop' => :'Integer',
130
+ :'dc_backstage' => :'Integer',
131
+ :'mosaics' => :'Integer',
132
+ :'max_set_line' => :'Integer',
133
+ :'eg_robot1' => :'ApiV3CsEndLocation',
134
+ :'eg_robot2' => :'ApiV3CsEndLocation',
135
+ :'drone1' => :'Integer',
136
+ :'drone2' => :'Integer',
137
+ :'minor_penalties' => :'Integer',
138
+ :'major_penalties' => :'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::ApiV3CsAchievementsDetail` 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::ApiV3CsAchievementsDetail`. 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?(:'init_team_prop1')
165
+ self.init_team_prop1 = attributes[:'init_team_prop1']
166
+ else
167
+ self.init_team_prop1 = nil
168
+ end
169
+
170
+ if attributes.key?(:'init_team_prop2')
171
+ self.init_team_prop2 = attributes[:'init_team_prop2']
172
+ else
173
+ self.init_team_prop2 = nil
174
+ end
175
+
176
+ if attributes.key?(:'robot1_auto')
177
+ self.robot1_auto = attributes[:'robot1_auto']
178
+ else
179
+ self.robot1_auto = nil
180
+ end
181
+
182
+ if attributes.key?(:'robot2_auto')
183
+ self.robot2_auto = attributes[:'robot2_auto']
184
+ else
185
+ self.robot2_auto = nil
186
+ end
187
+
188
+ if attributes.key?(:'spike_mark_pixel1')
189
+ self.spike_mark_pixel1 = attributes[:'spike_mark_pixel1']
190
+ else
191
+ self.spike_mark_pixel1 = nil
192
+ end
193
+
194
+ if attributes.key?(:'spike_mark_pixel2')
195
+ self.spike_mark_pixel2 = attributes[:'spike_mark_pixel2']
196
+ else
197
+ self.spike_mark_pixel2 = nil
198
+ end
199
+
200
+ if attributes.key?(:'target_backdrop_pixel1')
201
+ self.target_backdrop_pixel1 = attributes[:'target_backdrop_pixel1']
202
+ else
203
+ self.target_backdrop_pixel1 = nil
204
+ end
205
+
206
+ if attributes.key?(:'target_backdrop_pixel2')
207
+ self.target_backdrop_pixel2 = attributes[:'target_backdrop_pixel2']
208
+ else
209
+ self.target_backdrop_pixel2 = nil
210
+ end
211
+
212
+ if attributes.key?(:'auto_backdrop')
213
+ self.auto_backdrop = attributes[:'auto_backdrop']
214
+ else
215
+ self.auto_backdrop = nil
216
+ end
217
+
218
+ if attributes.key?(:'auto_backstage')
219
+ self.auto_backstage = attributes[:'auto_backstage']
220
+ else
221
+ self.auto_backstage = nil
222
+ end
223
+
224
+ if attributes.key?(:'dc_backdrop')
225
+ self.dc_backdrop = attributes[:'dc_backdrop']
226
+ else
227
+ self.dc_backdrop = nil
228
+ end
229
+
230
+ if attributes.key?(:'dc_backstage')
231
+ self.dc_backstage = attributes[:'dc_backstage']
232
+ else
233
+ self.dc_backstage = nil
234
+ end
235
+
236
+ if attributes.key?(:'mosaics')
237
+ self.mosaics = attributes[:'mosaics']
238
+ else
239
+ self.mosaics = nil
240
+ end
241
+
242
+ if attributes.key?(:'max_set_line')
243
+ self.max_set_line = attributes[:'max_set_line']
244
+ else
245
+ self.max_set_line = nil
246
+ end
247
+
248
+ if attributes.key?(:'eg_robot1')
249
+ self.eg_robot1 = attributes[:'eg_robot1']
250
+ else
251
+ self.eg_robot1 = nil
252
+ end
253
+
254
+ if attributes.key?(:'eg_robot2')
255
+ self.eg_robot2 = attributes[:'eg_robot2']
256
+ else
257
+ self.eg_robot2 = nil
258
+ end
259
+
260
+ if attributes.key?(:'drone1')
261
+ self.drone1 = attributes[:'drone1']
262
+ else
263
+ self.drone1 = nil
264
+ end
265
+
266
+ if attributes.key?(:'drone2')
267
+ self.drone2 = attributes[:'drone2']
268
+ else
269
+ self.drone2 = nil
270
+ end
271
+
272
+ if attributes.key?(:'minor_penalties')
273
+ self.minor_penalties = attributes[:'minor_penalties']
274
+ else
275
+ self.minor_penalties = nil
276
+ end
277
+
278
+ if attributes.key?(:'major_penalties')
279
+ self.major_penalties = attributes[:'major_penalties']
280
+ else
281
+ self.major_penalties = nil
282
+ end
283
+ end
284
+
285
+ # Show invalid properties with the reasons. Usually used together with valid?
286
+ # @return Array for valid properties with the reasons
287
+ def list_invalid_properties
288
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
289
+ invalid_properties = Array.new
290
+ if @init_team_prop1.nil?
291
+ invalid_properties.push('invalid value for "init_team_prop1", init_team_prop1 cannot be nil.')
292
+ end
293
+
294
+ if @init_team_prop2.nil?
295
+ invalid_properties.push('invalid value for "init_team_prop2", init_team_prop2 cannot be nil.')
296
+ end
297
+
298
+ if @robot1_auto.nil?
299
+ invalid_properties.push('invalid value for "robot1_auto", robot1_auto cannot be nil.')
300
+ end
301
+
302
+ if @robot2_auto.nil?
303
+ invalid_properties.push('invalid value for "robot2_auto", robot2_auto cannot be nil.')
304
+ end
305
+
306
+ if @spike_mark_pixel1.nil?
307
+ invalid_properties.push('invalid value for "spike_mark_pixel1", spike_mark_pixel1 cannot be nil.')
308
+ end
309
+
310
+ if @spike_mark_pixel2.nil?
311
+ invalid_properties.push('invalid value for "spike_mark_pixel2", spike_mark_pixel2 cannot be nil.')
312
+ end
313
+
314
+ if @target_backdrop_pixel1.nil?
315
+ invalid_properties.push('invalid value for "target_backdrop_pixel1", target_backdrop_pixel1 cannot be nil.')
316
+ end
317
+
318
+ if @target_backdrop_pixel2.nil?
319
+ invalid_properties.push('invalid value for "target_backdrop_pixel2", target_backdrop_pixel2 cannot be nil.')
320
+ end
321
+
322
+ if @auto_backdrop.nil?
323
+ invalid_properties.push('invalid value for "auto_backdrop", auto_backdrop cannot be nil.')
324
+ end
325
+
326
+ if @auto_backstage.nil?
327
+ invalid_properties.push('invalid value for "auto_backstage", auto_backstage cannot be nil.')
328
+ end
329
+
330
+ if @dc_backdrop.nil?
331
+ invalid_properties.push('invalid value for "dc_backdrop", dc_backdrop cannot be nil.')
332
+ end
333
+
334
+ if @dc_backstage.nil?
335
+ invalid_properties.push('invalid value for "dc_backstage", dc_backstage cannot be nil.')
336
+ end
337
+
338
+ if @mosaics.nil?
339
+ invalid_properties.push('invalid value for "mosaics", mosaics cannot be nil.')
340
+ end
341
+
342
+ if @max_set_line.nil?
343
+ invalid_properties.push('invalid value for "max_set_line", max_set_line cannot be nil.')
344
+ end
345
+
346
+ if @eg_robot1.nil?
347
+ invalid_properties.push('invalid value for "eg_robot1", eg_robot1 cannot be nil.')
348
+ end
349
+
350
+ if @eg_robot2.nil?
351
+ invalid_properties.push('invalid value for "eg_robot2", eg_robot2 cannot be nil.')
352
+ end
353
+
354
+ if @drone1.nil?
355
+ invalid_properties.push('invalid value for "drone1", drone1 cannot be nil.')
356
+ end
357
+
358
+ if @drone2.nil?
359
+ invalid_properties.push('invalid value for "drone2", drone2 cannot be nil.')
360
+ end
361
+
362
+ if @minor_penalties.nil?
363
+ invalid_properties.push('invalid value for "minor_penalties", minor_penalties cannot be nil.')
364
+ end
365
+
366
+ if @major_penalties.nil?
367
+ invalid_properties.push('invalid value for "major_penalties", major_penalties cannot be nil.')
368
+ end
369
+
370
+ invalid_properties
371
+ end
372
+
373
+ # Check to see if the all the properties in the model are valid
374
+ # @return true if the model is valid
375
+ def valid?
376
+ warn '[DEPRECATED] the `valid?` method is obsolete'
377
+ return false if @init_team_prop1.nil?
378
+ return false if @init_team_prop2.nil?
379
+ return false if @robot1_auto.nil?
380
+ return false if @robot2_auto.nil?
381
+ return false if @spike_mark_pixel1.nil?
382
+ return false if @spike_mark_pixel2.nil?
383
+ return false if @target_backdrop_pixel1.nil?
384
+ return false if @target_backdrop_pixel2.nil?
385
+ return false if @auto_backdrop.nil?
386
+ return false if @auto_backstage.nil?
387
+ return false if @dc_backdrop.nil?
388
+ return false if @dc_backstage.nil?
389
+ return false if @mosaics.nil?
390
+ return false if @max_set_line.nil?
391
+ return false if @eg_robot1.nil?
392
+ return false if @eg_robot2.nil?
393
+ return false if @drone1.nil?
394
+ return false if @drone2.nil?
395
+ return false if @minor_penalties.nil?
396
+ return false if @major_penalties.nil?
397
+ true
398
+ end
399
+
400
+ # Custom attribute writer method with validation
401
+ # @param [Object] init_team_prop1 Value to be assigned
402
+ def init_team_prop1=(init_team_prop1)
403
+ if init_team_prop1.nil?
404
+ fail ArgumentError, 'init_team_prop1 cannot be nil'
405
+ end
406
+
407
+ @init_team_prop1 = init_team_prop1
408
+ end
409
+
410
+ # Custom attribute writer method with validation
411
+ # @param [Object] init_team_prop2 Value to be assigned
412
+ def init_team_prop2=(init_team_prop2)
413
+ if init_team_prop2.nil?
414
+ fail ArgumentError, 'init_team_prop2 cannot be nil'
415
+ end
416
+
417
+ @init_team_prop2 = init_team_prop2
418
+ end
419
+
420
+ # Custom attribute writer method with validation
421
+ # @param [Object] robot1_auto Value to be assigned
422
+ def robot1_auto=(robot1_auto)
423
+ if robot1_auto.nil?
424
+ fail ArgumentError, 'robot1_auto cannot be nil'
425
+ end
426
+
427
+ @robot1_auto = robot1_auto
428
+ end
429
+
430
+ # Custom attribute writer method with validation
431
+ # @param [Object] robot2_auto Value to be assigned
432
+ def robot2_auto=(robot2_auto)
433
+ if robot2_auto.nil?
434
+ fail ArgumentError, 'robot2_auto cannot be nil'
435
+ end
436
+
437
+ @robot2_auto = robot2_auto
438
+ end
439
+
440
+ # Custom attribute writer method with validation
441
+ # @param [Object] spike_mark_pixel1 Value to be assigned
442
+ def spike_mark_pixel1=(spike_mark_pixel1)
443
+ if spike_mark_pixel1.nil?
444
+ fail ArgumentError, 'spike_mark_pixel1 cannot be nil'
445
+ end
446
+
447
+ @spike_mark_pixel1 = spike_mark_pixel1
448
+ end
449
+
450
+ # Custom attribute writer method with validation
451
+ # @param [Object] spike_mark_pixel2 Value to be assigned
452
+ def spike_mark_pixel2=(spike_mark_pixel2)
453
+ if spike_mark_pixel2.nil?
454
+ fail ArgumentError, 'spike_mark_pixel2 cannot be nil'
455
+ end
456
+
457
+ @spike_mark_pixel2 = spike_mark_pixel2
458
+ end
459
+
460
+ # Custom attribute writer method with validation
461
+ # @param [Object] target_backdrop_pixel1 Value to be assigned
462
+ def target_backdrop_pixel1=(target_backdrop_pixel1)
463
+ if target_backdrop_pixel1.nil?
464
+ fail ArgumentError, 'target_backdrop_pixel1 cannot be nil'
465
+ end
466
+
467
+ @target_backdrop_pixel1 = target_backdrop_pixel1
468
+ end
469
+
470
+ # Custom attribute writer method with validation
471
+ # @param [Object] target_backdrop_pixel2 Value to be assigned
472
+ def target_backdrop_pixel2=(target_backdrop_pixel2)
473
+ if target_backdrop_pixel2.nil?
474
+ fail ArgumentError, 'target_backdrop_pixel2 cannot be nil'
475
+ end
476
+
477
+ @target_backdrop_pixel2 = target_backdrop_pixel2
478
+ end
479
+
480
+ # Custom attribute writer method with validation
481
+ # @param [Object] auto_backdrop Value to be assigned
482
+ def auto_backdrop=(auto_backdrop)
483
+ if auto_backdrop.nil?
484
+ fail ArgumentError, 'auto_backdrop cannot be nil'
485
+ end
486
+
487
+ @auto_backdrop = auto_backdrop
488
+ end
489
+
490
+ # Custom attribute writer method with validation
491
+ # @param [Object] auto_backstage Value to be assigned
492
+ def auto_backstage=(auto_backstage)
493
+ if auto_backstage.nil?
494
+ fail ArgumentError, 'auto_backstage cannot be nil'
495
+ end
496
+
497
+ @auto_backstage = auto_backstage
498
+ end
499
+
500
+ # Custom attribute writer method with validation
501
+ # @param [Object] dc_backdrop Value to be assigned
502
+ def dc_backdrop=(dc_backdrop)
503
+ if dc_backdrop.nil?
504
+ fail ArgumentError, 'dc_backdrop cannot be nil'
505
+ end
506
+
507
+ @dc_backdrop = dc_backdrop
508
+ end
509
+
510
+ # Custom attribute writer method with validation
511
+ # @param [Object] dc_backstage Value to be assigned
512
+ def dc_backstage=(dc_backstage)
513
+ if dc_backstage.nil?
514
+ fail ArgumentError, 'dc_backstage cannot be nil'
515
+ end
516
+
517
+ @dc_backstage = dc_backstage
518
+ end
519
+
520
+ # Custom attribute writer method with validation
521
+ # @param [Object] mosaics Value to be assigned
522
+ def mosaics=(mosaics)
523
+ if mosaics.nil?
524
+ fail ArgumentError, 'mosaics cannot be nil'
525
+ end
526
+
527
+ @mosaics = mosaics
528
+ end
529
+
530
+ # Custom attribute writer method with validation
531
+ # @param [Object] max_set_line Value to be assigned
532
+ def max_set_line=(max_set_line)
533
+ if max_set_line.nil?
534
+ fail ArgumentError, 'max_set_line cannot be nil'
535
+ end
536
+
537
+ @max_set_line = max_set_line
538
+ end
539
+
540
+ # Custom attribute writer method with validation
541
+ # @param [Object] eg_robot1 Value to be assigned
542
+ def eg_robot1=(eg_robot1)
543
+ if eg_robot1.nil?
544
+ fail ArgumentError, 'eg_robot1 cannot be nil'
545
+ end
546
+
547
+ @eg_robot1 = eg_robot1
548
+ end
549
+
550
+ # Custom attribute writer method with validation
551
+ # @param [Object] eg_robot2 Value to be assigned
552
+ def eg_robot2=(eg_robot2)
553
+ if eg_robot2.nil?
554
+ fail ArgumentError, 'eg_robot2 cannot be nil'
555
+ end
556
+
557
+ @eg_robot2 = eg_robot2
558
+ end
559
+
560
+ # Custom attribute writer method with validation
561
+ # @param [Object] drone1 Value to be assigned
562
+ def drone1=(drone1)
563
+ if drone1.nil?
564
+ fail ArgumentError, 'drone1 cannot be nil'
565
+ end
566
+
567
+ @drone1 = drone1
568
+ end
569
+
570
+ # Custom attribute writer method with validation
571
+ # @param [Object] drone2 Value to be assigned
572
+ def drone2=(drone2)
573
+ if drone2.nil?
574
+ fail ArgumentError, 'drone2 cannot be nil'
575
+ end
576
+
577
+ @drone2 = drone2
578
+ end
579
+
580
+ # Custom attribute writer method with validation
581
+ # @param [Object] minor_penalties Value to be assigned
582
+ def minor_penalties=(minor_penalties)
583
+ if minor_penalties.nil?
584
+ fail ArgumentError, 'minor_penalties cannot be nil'
585
+ end
586
+
587
+ @minor_penalties = minor_penalties
588
+ end
589
+
590
+ # Custom attribute writer method with validation
591
+ # @param [Object] major_penalties Value to be assigned
592
+ def major_penalties=(major_penalties)
593
+ if major_penalties.nil?
594
+ fail ArgumentError, 'major_penalties cannot be nil'
595
+ end
596
+
597
+ @major_penalties = major_penalties
598
+ end
599
+
600
+ # Checks equality by comparing each attribute.
601
+ # @param [Object] Object to be compared
602
+ def ==(o)
603
+ return true if self.equal?(o)
604
+ self.class == o.class &&
605
+ init_team_prop1 == o.init_team_prop1 &&
606
+ init_team_prop2 == o.init_team_prop2 &&
607
+ robot1_auto == o.robot1_auto &&
608
+ robot2_auto == o.robot2_auto &&
609
+ spike_mark_pixel1 == o.spike_mark_pixel1 &&
610
+ spike_mark_pixel2 == o.spike_mark_pixel2 &&
611
+ target_backdrop_pixel1 == o.target_backdrop_pixel1 &&
612
+ target_backdrop_pixel2 == o.target_backdrop_pixel2 &&
613
+ auto_backdrop == o.auto_backdrop &&
614
+ auto_backstage == o.auto_backstage &&
615
+ dc_backdrop == o.dc_backdrop &&
616
+ dc_backstage == o.dc_backstage &&
617
+ mosaics == o.mosaics &&
618
+ max_set_line == o.max_set_line &&
619
+ eg_robot1 == o.eg_robot1 &&
620
+ eg_robot2 == o.eg_robot2 &&
621
+ drone1 == o.drone1 &&
622
+ drone2 == o.drone2 &&
623
+ minor_penalties == o.minor_penalties &&
624
+ major_penalties == o.major_penalties
625
+ end
626
+
627
+ # @see the `==` method
628
+ # @param [Object] Object to be compared
629
+ def eql?(o)
630
+ self == o
631
+ end
632
+
633
+ # Calculates hash code according to all attributes.
634
+ # @return [Integer] Hash code
635
+ def hash
636
+ [init_team_prop1, init_team_prop2, robot1_auto, robot2_auto, spike_mark_pixel1, spike_mark_pixel2, target_backdrop_pixel1, target_backdrop_pixel2, auto_backdrop, auto_backstage, dc_backdrop, dc_backstage, mosaics, max_set_line, eg_robot1, eg_robot2, drone1, drone2, minor_penalties, major_penalties].hash
637
+ end
638
+
639
+ # Builds the object from hash
640
+ # @param [Hash] attributes Model attributes in the form of hash
641
+ # @return [Object] Returns the model itself
642
+ def self.build_from_hash(attributes)
643
+ return nil unless attributes.is_a?(Hash)
644
+ attributes = attributes.transform_keys(&:to_sym)
645
+ transformed_hash = {}
646
+ openapi_types.each_pair do |key, type|
647
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
648
+ transformed_hash["#{key}"] = nil
649
+ elsif type =~ /\AArray<(.*)>/i
650
+ # check to ensure the input is an array given that the attribute
651
+ # is documented as an array but the input is not
652
+ if attributes[attribute_map[key]].is_a?(Array)
653
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
654
+ end
655
+ elsif !attributes[attribute_map[key]].nil?
656
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
657
+ end
658
+ end
659
+ new(transformed_hash)
660
+ end
661
+
662
+ # Returns the object in the form of hash
663
+ # @return [Hash] Returns the object in the form of hash
664
+ def to_hash
665
+ hash = {}
666
+ self.class.attribute_map.each_pair do |attr, param|
667
+ value = self.send(attr)
668
+ if value.nil?
669
+ is_nullable = self.class.openapi_nullable.include?(attr)
670
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
671
+ end
672
+
673
+ hash[param] = _to_hash(value)
674
+ end
675
+ hash
676
+ end
677
+
678
+ end
679
+
680
+ end