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