shortcut_client_ruby 0.0.2

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 (453) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +2303 -0
  5. data/Rakefile +8 -0
  6. data/bin/console +15 -0
  7. data/bin/setup +8 -0
  8. data/bin/update.rb +34 -0
  9. data/config.json +7 -0
  10. data/docs/BasicWorkspaceInfo.md +8 -0
  11. data/docs/Branch.md +17 -0
  12. data/docs/Category.md +15 -0
  13. data/docs/Commit.md +19 -0
  14. data/docs/CreateCategory.md +10 -0
  15. data/docs/CreateCategoryParams.md +9 -0
  16. data/docs/CreateCommentComment.md +11 -0
  17. data/docs/CreateEntityTemplate.md +9 -0
  18. data/docs/CreateEpic.md +23 -0
  19. data/docs/CreateEpicComment.md +11 -0
  20. data/docs/CreateGroup.md +14 -0
  21. data/docs/CreateIteration.md +13 -0
  22. data/docs/CreateLabelParams.md +10 -0
  23. data/docs/CreateLinkedFile.md +15 -0
  24. data/docs/CreateMilestone.md +12 -0
  25. data/docs/CreateOrDeleteStoryReaction.md +7 -0
  26. data/docs/CreateProject.md +17 -0
  27. data/docs/CreateStories.md +7 -0
  28. data/docs/CreateStoryComment.md +11 -0
  29. data/docs/CreateStoryCommentParams.md +11 -0
  30. data/docs/CreateStoryContents.md +27 -0
  31. data/docs/CreateStoryLink.md +9 -0
  32. data/docs/CreateStoryLinkParams.md +9 -0
  33. data/docs/CreateStoryParams.md +33 -0
  34. data/docs/CreateTask.md +12 -0
  35. data/docs/CreateTaskParams.md +12 -0
  36. data/docs/DefaultApi.md +5632 -0
  37. data/docs/DeleteStories.md +7 -0
  38. data/docs/EntityTemplate.md +14 -0
  39. data/docs/EntityTemplateTask.md +10 -0
  40. data/docs/Epic.md +44 -0
  41. data/docs/EpicSearchResults.md +10 -0
  42. data/docs/EpicSlim.md +43 -0
  43. data/docs/EpicState.md +15 -0
  44. data/docs/EpicStats.md +19 -0
  45. data/docs/EpicWorkflow.md +12 -0
  46. data/docs/GetEpicStories.md +7 -0
  47. data/docs/GetExternalLinkStoriesParams.md +7 -0
  48. data/docs/GetIterationStories.md +7 -0
  49. data/docs/GetLabelStories.md +7 -0
  50. data/docs/GetMember.md +7 -0
  51. data/docs/GetProjectStories.md +7 -0
  52. data/docs/Group.md +22 -0
  53. data/docs/History.md +15 -0
  54. data/docs/HistoryActionBranchCreate.md +11 -0
  55. data/docs/HistoryActionBranchMerge.md +11 -0
  56. data/docs/HistoryActionBranchPush.md +11 -0
  57. data/docs/HistoryActionLabelCreate.md +11 -0
  58. data/docs/HistoryActionLabelDelete.md +10 -0
  59. data/docs/HistoryActionLabelUpdate.md +9 -0
  60. data/docs/HistoryActionProjectUpdate.md +11 -0
  61. data/docs/HistoryActionPullRequest.md +12 -0
  62. data/docs/HistoryActionStoryCommentCreate.md +12 -0
  63. data/docs/HistoryActionStoryCreate.md +30 -0
  64. data/docs/HistoryActionStoryDelete.md +11 -0
  65. data/docs/HistoryActionStoryLinkCreate.md +12 -0
  66. data/docs/HistoryActionStoryLinkDelete.md +12 -0
  67. data/docs/HistoryActionStoryLinkUpdate.md +13 -0
  68. data/docs/HistoryActionStoryUpdate.md +13 -0
  69. data/docs/HistoryActionTaskCreate.md +15 -0
  70. data/docs/HistoryActionTaskDelete.md +10 -0
  71. data/docs/HistoryActionTaskUpdate.md +13 -0
  72. data/docs/HistoryChangesStory.md +30 -0
  73. data/docs/HistoryChangesStoryLink.md +9 -0
  74. data/docs/HistoryChangesTask.md +10 -0
  75. data/docs/HistoryReferenceBranch.md +10 -0
  76. data/docs/HistoryReferenceCommit.md +10 -0
  77. data/docs/HistoryReferenceEpic.md +10 -0
  78. data/docs/HistoryReferenceGeneral.md +9 -0
  79. data/docs/HistoryReferenceGroup.md +9 -0
  80. data/docs/HistoryReferenceIteration.md +10 -0
  81. data/docs/HistoryReferenceLabel.md +10 -0
  82. data/docs/HistoryReferenceProject.md +10 -0
  83. data/docs/HistoryReferenceStory.md +11 -0
  84. data/docs/HistoryReferenceStoryTask.md +9 -0
  85. data/docs/HistoryReferenceWorkflowState.md +10 -0
  86. data/docs/Icon.md +11 -0
  87. data/docs/Identity.md +9 -0
  88. data/docs/Iteration.md +24 -0
  89. data/docs/IterationSlim.md +23 -0
  90. data/docs/IterationStats.md +17 -0
  91. data/docs/Label.md +17 -0
  92. data/docs/LabelSlim.md +16 -0
  93. data/docs/LabelStats.md +21 -0
  94. data/docs/LinkedFile.md +22 -0
  95. data/docs/ListEpics.md +7 -0
  96. data/docs/ListGroupStories.md +8 -0
  97. data/docs/ListLabels.md +7 -0
  98. data/docs/ListMembers.md +7 -0
  99. data/docs/MaxSearchResultsExceededError.md +9 -0
  100. data/docs/Member.md +17 -0
  101. data/docs/MemberInfo.md +10 -0
  102. data/docs/Milestone.md +23 -0
  103. data/docs/MilestoneStats.md +9 -0
  104. data/docs/Profile.md +15 -0
  105. data/docs/Project.md +25 -0
  106. data/docs/ProjectStats.md +9 -0
  107. data/docs/PullRequest.md +28 -0
  108. data/docs/PullRequestLabel.md +11 -0
  109. data/docs/Repository.md +15 -0
  110. data/docs/Search.md +10 -0
  111. data/docs/SearchResults.md +8 -0
  112. data/docs/SearchStories.md +34 -0
  113. data/docs/Story.md +56 -0
  114. data/docs/StoryComment.md +20 -0
  115. data/docs/StoryContents.md +25 -0
  116. data/docs/StoryContentsTask.md +11 -0
  117. data/docs/StoryHistoryChangeAddsRemovesInt.md +8 -0
  118. data/docs/StoryHistoryChangeAddsRemovesUuid.md +8 -0
  119. data/docs/StoryHistoryChangeOldNewBool.md +8 -0
  120. data/docs/StoryHistoryChangeOldNewInt.md +8 -0
  121. data/docs/StoryHistoryChangeOldNewStr.md +8 -0
  122. data/docs/StoryHistoryChangeOldNewUuid.md +8 -0
  123. data/docs/StoryLink.md +14 -0
  124. data/docs/StoryReaction.md +8 -0
  125. data/docs/StorySearchResults.md +10 -0
  126. data/docs/StorySlim.md +54 -0
  127. data/docs/StoryStats.md +7 -0
  128. data/docs/Task.md +20 -0
  129. data/docs/ThreadedComment.md +19 -0
  130. data/docs/TypedStoryLink.md +15 -0
  131. data/docs/UnusableEntitlementError.md +9 -0
  132. data/docs/UpdateCategory.md +9 -0
  133. data/docs/UpdateComment.md +7 -0
  134. data/docs/UpdateEntityTemplate.md +8 -0
  135. data/docs/UpdateEpic.md +23 -0
  136. data/docs/UpdateFile.md +12 -0
  137. data/docs/UpdateGroup.md +15 -0
  138. data/docs/UpdateIteration.md +13 -0
  139. data/docs/UpdateLabel.md +10 -0
  140. data/docs/UpdateLinkedFile.md +14 -0
  141. data/docs/UpdateMilestone.md +14 -0
  142. data/docs/UpdateProject.md +15 -0
  143. data/docs/UpdateStories.md +27 -0
  144. data/docs/UpdateStory.md +32 -0
  145. data/docs/UpdateStoryComment.md +7 -0
  146. data/docs/UpdateStoryContents.md +27 -0
  147. data/docs/UpdateStoryLink.md +9 -0
  148. data/docs/UpdateTask.md +11 -0
  149. data/docs/UploadedFile.md +23 -0
  150. data/docs/V3FilesBody.md +11 -0
  151. data/docs/Workflow.md +17 -0
  152. data/docs/WorkflowState.md +18 -0
  153. data/git_push.sh +55 -0
  154. data/lib/shortcut/client/ruby/version.rb +9 -0
  155. data/lib/shortcut/client/ruby.rb +12 -0
  156. data/lib/shortcut_client_ruby/api/default_api.rb +6091 -0
  157. data/lib/shortcut_client_ruby/api_client.rb +388 -0
  158. data/lib/shortcut_client_ruby/api_error.rb +57 -0
  159. data/lib/shortcut_client_ruby/configuration.rb +205 -0
  160. data/lib/shortcut_client_ruby/models/basic_workspace_info.rb +227 -0
  161. data/lib/shortcut_client_ruby/models/branch.rb +371 -0
  162. data/lib/shortcut_client_ruby/models/category.rb +335 -0
  163. data/lib/shortcut_client_ruby/models/commit.rb +398 -0
  164. data/lib/shortcut_client_ruby/models/create_category.rb +281 -0
  165. data/lib/shortcut_client_ruby/models/create_category_params.rb +233 -0
  166. data/lib/shortcut_client_ruby/models/create_comment_comment.rb +252 -0
  167. data/lib/shortcut_client_ruby/models/create_entity_template.rb +237 -0
  168. data/lib/shortcut_client_ruby/models/create_epic.rb +416 -0
  169. data/lib/shortcut_client_ruby/models/create_epic_comment.rb +252 -0
  170. data/lib/shortcut_client_ruby/models/create_group.rb +325 -0
  171. data/lib/shortcut_client_ruby/models/create_iteration.rb +288 -0
  172. data/lib/shortcut_client_ruby/models/create_label_params.rb +243 -0
  173. data/lib/shortcut_client_ruby/models/create_linked_file.rb +336 -0
  174. data/lib/shortcut_client_ruby/models/create_milestone.rb +298 -0
  175. data/lib/shortcut_client_ruby/models/create_or_delete_story_reaction.rb +212 -0
  176. data/lib/shortcut_client_ruby/models/create_project.rb +319 -0
  177. data/lib/shortcut_client_ruby/models/create_stories.rb +214 -0
  178. data/lib/shortcut_client_ruby/models/create_story_comment.rb +252 -0
  179. data/lib/shortcut_client_ruby/models/create_story_comment_params.rb +253 -0
  180. data/lib/shortcut_client_ruby/models/create_story_contents.rb +433 -0
  181. data/lib/shortcut_client_ruby/models/create_story_link.rb +276 -0
  182. data/lib/shortcut_client_ruby/models/create_story_link_params.rb +267 -0
  183. data/lib/shortcut_client_ruby/models/create_story_params.rb +532 -0
  184. data/lib/shortcut_client_ruby/models/create_task.rb +264 -0
  185. data/lib/shortcut_client_ruby/models/create_task_params.rb +265 -0
  186. data/lib/shortcut_client_ruby/models/delete_stories.rb +214 -0
  187. data/lib/shortcut_client_ruby/models/entity_template.rb +317 -0
  188. data/lib/shortcut_client_ruby/models/entity_template_task.rb +245 -0
  189. data/lib/shortcut_client_ruby/models/epic.rb +799 -0
  190. data/lib/shortcut_client_ruby/models/epic_search_results.rb +257 -0
  191. data/lib/shortcut_client_ruby/models/epic_slim.rb +777 -0
  192. data/lib/shortcut_client_ruby/models/epic_state.rb +328 -0
  193. data/lib/shortcut_client_ruby/models/epic_stats.rb +384 -0
  194. data/lib/shortcut_client_ruby/models/epic_workflow.rb +290 -0
  195. data/lib/shortcut_client_ruby/models/get_epic_stories.rb +207 -0
  196. data/lib/shortcut_client_ruby/models/get_external_link_stories_params.rb +212 -0
  197. data/lib/shortcut_client_ruby/models/get_iteration_stories.rb +207 -0
  198. data/lib/shortcut_client_ruby/models/get_label_stories.rb +207 -0
  199. data/lib/shortcut_client_ruby/models/get_member.rb +207 -0
  200. data/lib/shortcut_client_ruby/models/get_project_stories.rb +207 -0
  201. data/lib/shortcut_client_ruby/models/group.rb +479 -0
  202. data/lib/shortcut_client_ruby/models/history.rb +347 -0
  203. data/lib/shortcut_client_ruby/models/history_action_branch_create.rb +307 -0
  204. data/lib/shortcut_client_ruby/models/history_action_branch_merge.rb +307 -0
  205. data/lib/shortcut_client_ruby/models/history_action_branch_push.rb +307 -0
  206. data/lib/shortcut_client_ruby/models/history_action_label_create.rb +307 -0
  207. data/lib/shortcut_client_ruby/models/history_action_label_delete.rb +292 -0
  208. data/lib/shortcut_client_ruby/models/history_action_label_update.rb +277 -0
  209. data/lib/shortcut_client_ruby/models/history_action_project_update.rb +307 -0
  210. data/lib/shortcut_client_ruby/models/history_action_pull_request.rb +322 -0
  211. data/lib/shortcut_client_ruby/models/history_action_story_comment_create.rb +322 -0
  212. data/lib/shortcut_client_ruby/models/history_action_story_create.rb +527 -0
  213. data/lib/shortcut_client_ruby/models/history_action_story_delete.rb +319 -0
  214. data/lib/shortcut_client_ruby/models/history_action_story_link_create.rb +334 -0
  215. data/lib/shortcut_client_ruby/models/history_action_story_link_delete.rb +336 -0
  216. data/lib/shortcut_client_ruby/models/history_action_story_link_update.rb +348 -0
  217. data/lib/shortcut_client_ruby/models/history_action_story_update.rb +343 -0
  218. data/lib/shortcut_client_ruby/models/history_action_task_create.rb +353 -0
  219. data/lib/shortcut_client_ruby/models/history_action_task_delete.rb +292 -0
  220. data/lib/shortcut_client_ruby/models/history_action_task_update.rb +331 -0
  221. data/lib/shortcut_client_ruby/models/history_changes_story.rb +414 -0
  222. data/lib/shortcut_client_ruby/models/history_changes_story_link.rb +225 -0
  223. data/lib/shortcut_client_ruby/models/history_changes_task.rb +234 -0
  224. data/lib/shortcut_client_ruby/models/history_reference_branch.rb +258 -0
  225. data/lib/shortcut_client_ruby/models/history_reference_commit.rb +258 -0
  226. data/lib/shortcut_client_ruby/models/history_reference_epic.rb +258 -0
  227. data/lib/shortcut_client_ruby/models/history_reference_general.rb +243 -0
  228. data/lib/shortcut_client_ruby/models/history_reference_group.rb +243 -0
  229. data/lib/shortcut_client_ruby/models/history_reference_iteration.rb +258 -0
  230. data/lib/shortcut_client_ruby/models/history_reference_label.rb +258 -0
  231. data/lib/shortcut_client_ruby/models/history_reference_project.rb +258 -0
  232. data/lib/shortcut_client_ruby/models/history_reference_story.rb +307 -0
  233. data/lib/shortcut_client_ruby/models/history_reference_story_task.rb +243 -0
  234. data/lib/shortcut_client_ruby/models/history_reference_workflow_state.rb +292 -0
  235. data/lib/shortcut_client_ruby/models/icon.rb +273 -0
  236. data/lib/shortcut_client_ruby/models/identity.rb +245 -0
  237. data/lib/shortcut_client_ruby/models/iteration.rb +481 -0
  238. data/lib/shortcut_client_ruby/models/iteration_slim.rb +466 -0
  239. data/lib/shortcut_client_ruby/models/iteration_stats.rb +353 -0
  240. data/lib/shortcut_client_ruby/models/label.rb +362 -0
  241. data/lib/shortcut_client_ruby/models/label_slim.rb +353 -0
  242. data/lib/shortcut_client_ruby/models/label_stats.rb +423 -0
  243. data/lib/shortcut_client_ruby/models/linked_file.rb +450 -0
  244. data/lib/shortcut_client_ruby/models/list_epics.rb +207 -0
  245. data/lib/shortcut_client_ruby/models/list_group_stories.rb +217 -0
  246. data/lib/shortcut_client_ruby/models/list_labels.rb +207 -0
  247. data/lib/shortcut_client_ruby/models/list_members.rb +207 -0
  248. data/lib/shortcut_client_ruby/models/max_search_results_exceeded_error.rb +289 -0
  249. data/lib/shortcut_client_ruby/models/member.rb +395 -0
  250. data/lib/shortcut_client_ruby/models/member_info.rb +253 -0
  251. data/lib/shortcut_client_ruby/models/milestone.rb +453 -0
  252. data/lib/shortcut_client_ruby/models/milestone_stats.rb +233 -0
  253. data/lib/shortcut_client_ruby/models/profile.rb +330 -0
  254. data/lib/shortcut_client_ruby/models/project.rb +490 -0
  255. data/lib/shortcut_client_ruby/models/project_stats.rb +243 -0
  256. data/lib/shortcut_client_ruby/models/pull_request.rb +518 -0
  257. data/lib/shortcut_client_ruby/models/pull_request_label.rb +269 -0
  258. data/lib/shortcut_client_ruby/models/repository.rb +340 -0
  259. data/lib/shortcut_client_ruby/models/search.rb +275 -0
  260. data/lib/shortcut_client_ruby/models/search_results.rb +226 -0
  261. data/lib/shortcut_client_ruby/models/search_stories.rb +529 -0
  262. data/lib/shortcut_client_ruby/models/story.rb +985 -0
  263. data/lib/shortcut_client_ruby/models/story_comment.rb +419 -0
  264. data/lib/shortcut_client_ruby/models/story_contents.rb +404 -0
  265. data/lib/shortcut_client_ruby/models/story_contents_task.rb +255 -0
  266. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_int.rb +222 -0
  267. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_uuid.rb +222 -0
  268. data/lib/shortcut_client_ruby/models/story_history_change_old_new_bool.rb +218 -0
  269. data/lib/shortcut_client_ruby/models/story_history_change_old_new_int.rb +218 -0
  270. data/lib/shortcut_client_ruby/models/story_history_change_old_new_str.rb +218 -0
  271. data/lib/shortcut_client_ruby/models/story_history_change_old_new_uuid.rb +218 -0
  272. data/lib/shortcut_client_ruby/models/story_link.rb +318 -0
  273. data/lib/shortcut_client_ruby/models/story_reaction.rb +230 -0
  274. data/lib/shortcut_client_ruby/models/story_search_results.rb +257 -0
  275. data/lib/shortcut_client_ruby/models/story_slim.rb +944 -0
  276. data/lib/shortcut_client_ruby/models/story_stats.rb +213 -0
  277. data/lib/shortcut_client_ruby/models/task.rb +418 -0
  278. data/lib/shortcut_client_ruby/models/threaded_comment.rb +402 -0
  279. data/lib/shortcut_client_ruby/models/typed_story_link.rb +333 -0
  280. data/lib/shortcut_client_ruby/models/unusable_entitlement_error.rb +276 -0
  281. data/lib/shortcut_client_ruby/models/update_category.rb +228 -0
  282. data/lib/shortcut_client_ruby/models/update_comment.rb +212 -0
  283. data/lib/shortcut_client_ruby/models/update_entity_template.rb +217 -0
  284. data/lib/shortcut_client_ruby/models/update_epic.rb +413 -0
  285. data/lib/shortcut_client_ruby/models/update_file.rb +257 -0
  286. data/lib/shortcut_client_ruby/models/update_group.rb +328 -0
  287. data/lib/shortcut_client_ruby/models/update_iteration.rb +273 -0
  288. data/lib/shortcut_client_ruby/models/update_label.rb +238 -0
  289. data/lib/shortcut_client_ruby/models/update_linked_file.rb +311 -0
  290. data/lib/shortcut_client_ruby/models/update_milestone.rb +315 -0
  291. data/lib/shortcut_client_ruby/models/update_project.rb +289 -0
  292. data/lib/shortcut_client_ruby/models/update_stories.rb +480 -0
  293. data/lib/shortcut_client_ruby/models/update_story.rb +529 -0
  294. data/lib/shortcut_client_ruby/models/update_story_comment.rb +212 -0
  295. data/lib/shortcut_client_ruby/models/update_story_contents.rb +434 -0
  296. data/lib/shortcut_client_ruby/models/update_story_link.rb +261 -0
  297. data/lib/shortcut_client_ruby/models/update_task.rb +249 -0
  298. data/lib/shortcut_client_ruby/models/uploaded_file.rb +466 -0
  299. data/lib/shortcut_client_ruby/models/v3_files_body.rb +252 -0
  300. data/lib/shortcut_client_ruby/models/workflow.rb +367 -0
  301. data/lib/shortcut_client_ruby/models/workflow_state.rb +374 -0
  302. data/lib/shortcut_client_ruby/version.rb +14 -0
  303. data/lib/shortcut_client_ruby.rb +181 -0
  304. data/shortcut-client-ruby.gemspec +36 -0
  305. data/shortcut_client_ruby.gemspec +38 -0
  306. data/spec/api/default_api_spec.rb +1310 -0
  307. data/spec/api_client_spec.rb +225 -0
  308. data/spec/base_object_spec.rb +109 -0
  309. data/spec/configuration_spec.rb +41 -0
  310. data/spec/models/basic_workspace_info_spec.rb +46 -0
  311. data/spec/models/branch_spec.rb +100 -0
  312. data/spec/models/category_spec.rb +88 -0
  313. data/spec/models/commit_spec.rb +112 -0
  314. data/spec/models/create_category_params_spec.rb +52 -0
  315. data/spec/models/create_category_spec.rb +62 -0
  316. data/spec/models/create_comment_comment_spec.rb +64 -0
  317. data/spec/models/create_entity_template_spec.rb +52 -0
  318. data/spec/models/create_epic_comment_spec.rb +64 -0
  319. data/spec/models/create_epic_spec.rb +140 -0
  320. data/spec/models/create_group_spec.rb +86 -0
  321. data/spec/models/create_iteration_spec.rb +76 -0
  322. data/spec/models/create_label_params_spec.rb +58 -0
  323. data/spec/models/create_linked_file_spec.rb +92 -0
  324. data/spec/models/create_milestone_spec.rb +74 -0
  325. data/spec/models/create_or_delete_story_reaction_spec.rb +40 -0
  326. data/spec/models/create_project_spec.rb +100 -0
  327. data/spec/models/create_stories_spec.rb +40 -0
  328. data/spec/models/create_story_comment_params_spec.rb +64 -0
  329. data/spec/models/create_story_comment_spec.rb +64 -0
  330. data/spec/models/create_story_contents_spec.rb +160 -0
  331. data/spec/models/create_story_link_params_spec.rb +56 -0
  332. data/spec/models/create_story_link_spec.rb +56 -0
  333. data/spec/models/create_story_params_spec.rb +200 -0
  334. data/spec/models/create_task_params_spec.rb +70 -0
  335. data/spec/models/create_task_spec.rb +70 -0
  336. data/spec/models/delete_stories_spec.rb +40 -0
  337. data/spec/models/entity_template_spec.rb +82 -0
  338. data/spec/models/entity_template_task_spec.rb +58 -0
  339. data/spec/models/epic_search_results_spec.rb +58 -0
  340. data/spec/models/epic_slim_spec.rb +256 -0
  341. data/spec/models/epic_spec.rb +262 -0
  342. data/spec/models/epic_state_spec.rb +88 -0
  343. data/spec/models/epic_stats_spec.rb +112 -0
  344. data/spec/models/epic_workflow_spec.rb +70 -0
  345. data/spec/models/get_epic_stories_spec.rb +40 -0
  346. data/spec/models/get_external_link_stories_params_spec.rb +40 -0
  347. data/spec/models/get_iteration_stories_spec.rb +40 -0
  348. data/spec/models/get_label_stories_spec.rb +40 -0
  349. data/spec/models/get_member_spec.rb +40 -0
  350. data/spec/models/get_project_stories_spec.rb +40 -0
  351. data/spec/models/group_spec.rb +134 -0
  352. data/spec/models/history_action_branch_create_spec.rb +68 -0
  353. data/spec/models/history_action_branch_merge_spec.rb +68 -0
  354. data/spec/models/history_action_branch_push_spec.rb +68 -0
  355. data/spec/models/history_action_label_create_spec.rb +68 -0
  356. data/spec/models/history_action_label_delete_spec.rb +62 -0
  357. data/spec/models/history_action_label_update_spec.rb +56 -0
  358. data/spec/models/history_action_project_update_spec.rb +68 -0
  359. data/spec/models/history_action_pull_request_spec.rb +74 -0
  360. data/spec/models/history_action_story_comment_create_spec.rb +74 -0
  361. data/spec/models/history_action_story_create_spec.rb +186 -0
  362. data/spec/models/history_action_story_delete_spec.rb +72 -0
  363. data/spec/models/history_action_story_link_create_spec.rb +78 -0
  364. data/spec/models/history_action_story_link_delete_spec.rb +78 -0
  365. data/spec/models/history_action_story_link_update_spec.rb +84 -0
  366. data/spec/models/history_action_story_update_spec.rb +84 -0
  367. data/spec/models/history_action_task_create_spec.rb +92 -0
  368. data/spec/models/history_action_task_delete_spec.rb +62 -0
  369. data/spec/models/history_action_task_update_spec.rb +80 -0
  370. data/spec/models/history_changes_story_link_spec.rb +52 -0
  371. data/spec/models/history_changes_story_spec.rb +178 -0
  372. data/spec/models/history_changes_task_spec.rb +58 -0
  373. data/spec/models/history_reference_branch_spec.rb +58 -0
  374. data/spec/models/history_reference_commit_spec.rb +58 -0
  375. data/spec/models/history_reference_epic_spec.rb +58 -0
  376. data/spec/models/history_reference_general_spec.rb +52 -0
  377. data/spec/models/history_reference_group_spec.rb +52 -0
  378. data/spec/models/history_reference_iteration_spec.rb +58 -0
  379. data/spec/models/history_reference_label_spec.rb +58 -0
  380. data/spec/models/history_reference_project_spec.rb +58 -0
  381. data/spec/models/history_reference_story_spec.rb +68 -0
  382. data/spec/models/history_reference_story_task_spec.rb +52 -0
  383. data/spec/models/history_reference_workflow_state_spec.rb +62 -0
  384. data/spec/models/history_spec.rb +92 -0
  385. data/spec/models/icon_spec.rb +64 -0
  386. data/spec/models/identity_spec.rb +52 -0
  387. data/spec/models/iteration_slim_spec.rb +136 -0
  388. data/spec/models/iteration_spec.rb +142 -0
  389. data/spec/models/iteration_stats_spec.rb +100 -0
  390. data/spec/models/label_slim_spec.rb +94 -0
  391. data/spec/models/label_spec.rb +100 -0
  392. data/spec/models/label_stats_spec.rb +124 -0
  393. data/spec/models/linked_file_spec.rb +130 -0
  394. data/spec/models/list_epics_spec.rb +40 -0
  395. data/spec/models/list_group_stories_spec.rb +46 -0
  396. data/spec/models/list_labels_spec.rb +40 -0
  397. data/spec/models/list_members_spec.rb +40 -0
  398. data/spec/models/max_search_results_exceeded_error_spec.rb +60 -0
  399. data/spec/models/member_info_spec.rb +58 -0
  400. data/spec/models/member_spec.rb +104 -0
  401. data/spec/models/milestone_spec.rb +136 -0
  402. data/spec/models/milestone_stats_spec.rb +52 -0
  403. data/spec/models/profile_spec.rb +88 -0
  404. data/spec/models/project_spec.rb +148 -0
  405. data/spec/models/project_stats_spec.rb +52 -0
  406. data/spec/models/pull_request_label_spec.rb +64 -0
  407. data/spec/models/pull_request_spec.rb +166 -0
  408. data/spec/models/repository_spec.rb +88 -0
  409. data/spec/models/search_results_spec.rb +46 -0
  410. data/spec/models/search_spec.rb +62 -0
  411. data/spec/models/search_stories_spec.rb +210 -0
  412. data/spec/models/story_comment_spec.rb +118 -0
  413. data/spec/models/story_contents_spec.rb +148 -0
  414. data/spec/models/story_contents_task_spec.rb +64 -0
  415. data/spec/models/story_history_change_adds_removes_int_spec.rb +46 -0
  416. data/spec/models/story_history_change_adds_removes_uuid_spec.rb +46 -0
  417. data/spec/models/story_history_change_old_new_bool_spec.rb +46 -0
  418. data/spec/models/story_history_change_old_new_int_spec.rb +46 -0
  419. data/spec/models/story_history_change_old_new_str_spec.rb +46 -0
  420. data/spec/models/story_history_change_old_new_uuid_spec.rb +46 -0
  421. data/spec/models/story_link_spec.rb +82 -0
  422. data/spec/models/story_reaction_spec.rb +46 -0
  423. data/spec/models/story_search_results_spec.rb +58 -0
  424. data/spec/models/story_slim_spec.rb +322 -0
  425. data/spec/models/story_spec.rb +334 -0
  426. data/spec/models/story_stats_spec.rb +40 -0
  427. data/spec/models/task_spec.rb +118 -0
  428. data/spec/models/threaded_comment_spec.rb +112 -0
  429. data/spec/models/typed_story_link_spec.rb +88 -0
  430. data/spec/models/unusable_entitlement_error_spec.rb +56 -0
  431. data/spec/models/update_category_spec.rb +52 -0
  432. data/spec/models/update_comment_spec.rb +40 -0
  433. data/spec/models/update_entity_template_spec.rb +46 -0
  434. data/spec/models/update_epic_spec.rb +140 -0
  435. data/spec/models/update_file_spec.rb +70 -0
  436. data/spec/models/update_group_spec.rb +92 -0
  437. data/spec/models/update_iteration_spec.rb +76 -0
  438. data/spec/models/update_label_spec.rb +58 -0
  439. data/spec/models/update_linked_file_spec.rb +86 -0
  440. data/spec/models/update_milestone_spec.rb +86 -0
  441. data/spec/models/update_project_spec.rb +88 -0
  442. data/spec/models/update_stories_spec.rb +168 -0
  443. data/spec/models/update_story_comment_spec.rb +40 -0
  444. data/spec/models/update_story_contents_spec.rb +160 -0
  445. data/spec/models/update_story_link_spec.rb +56 -0
  446. data/spec/models/update_story_spec.rb +198 -0
  447. data/spec/models/update_task_spec.rb +64 -0
  448. data/spec/models/uploaded_file_spec.rb +136 -0
  449. data/spec/models/v3_files_body_spec.rb +64 -0
  450. data/spec/models/workflow_spec.rb +100 -0
  451. data/spec/models/workflow_state_spec.rb +106 -0
  452. data/spec/spec_helper.rb +110 -0
  453. metadata +701 -0
@@ -0,0 +1,315 @@
1
+ =begin
2
+ #Shortcut API
3
+
4
+ #Shortcut API
5
+
6
+ OpenAPI spec version: 3.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.35
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Shortcut
15
+ class UpdateMilestone
16
+ # The Milestone's description.
17
+ attr_accessor :description
18
+
19
+ # A manual override for the time/date the Milestone was completed.
20
+ attr_accessor :completed_at_override
21
+
22
+ # The name of the Milestone.
23
+ attr_accessor :name
24
+
25
+ # The workflow state that the Milestone is in.
26
+ attr_accessor :state
27
+
28
+ # A manual override for the time/date the Milestone was started.
29
+ attr_accessor :started_at_override
30
+
31
+ # An array of IDs of Categories attached to the Milestone.
32
+ attr_accessor :categories
33
+
34
+ # The ID of the Milestone we want to move this Milestone before.
35
+ attr_accessor :before_id
36
+
37
+ # The ID of the Milestone we want to move this Milestone after.
38
+ attr_accessor :after_id
39
+
40
+ class EnumAttributeValidator
41
+ attr_reader :datatype
42
+ attr_reader :allowable_values
43
+
44
+ def initialize(datatype, allowable_values)
45
+ @allowable_values = allowable_values.map do |value|
46
+ case datatype.to_s
47
+ when /Integer/i
48
+ value.to_i
49
+ when /Float/i
50
+ value.to_f
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ def valid?(value)
58
+ !value || allowable_values.include?(value)
59
+ end
60
+ end
61
+
62
+ # Attribute mapping from ruby-style variable name to JSON key.
63
+ def self.attribute_map
64
+ {
65
+ :'description' => :'description',
66
+ :'completed_at_override' => :'completed_at_override',
67
+ :'name' => :'name',
68
+ :'state' => :'state',
69
+ :'started_at_override' => :'started_at_override',
70
+ :'categories' => :'categories',
71
+ :'before_id' => :'before_id',
72
+ :'after_id' => :'after_id'
73
+ }
74
+ end
75
+
76
+ # Attribute type mapping.
77
+ def self.openapi_types
78
+ {
79
+ :'description' => :'Object',
80
+ :'completed_at_override' => :'Object',
81
+ :'name' => :'Object',
82
+ :'state' => :'Object',
83
+ :'started_at_override' => :'Object',
84
+ :'categories' => :'Object',
85
+ :'before_id' => :'Object',
86
+ :'after_id' => :'Object'
87
+ }
88
+ end
89
+
90
+ # List of attributes with nullable: true
91
+ def self.openapi_nullable
92
+ Set.new([
93
+ :'completed_at_override',
94
+ :'started_at_override',
95
+ ])
96
+ end
97
+
98
+ # Initializes the object
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ def initialize(attributes = {})
101
+ if (!attributes.is_a?(Hash))
102
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shortcut::UpdateMilestone` initialize method"
103
+ end
104
+
105
+ # check to see if the attribute exists and convert string to symbol for hash key
106
+ attributes = attributes.each_with_object({}) { |(k, v), h|
107
+ if (!self.class.attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shortcut::UpdateMilestone`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
109
+ end
110
+ h[k.to_sym] = v
111
+ }
112
+
113
+ if attributes.key?(:'description')
114
+ self.description = attributes[:'description']
115
+ end
116
+
117
+ if attributes.key?(:'completed_at_override')
118
+ self.completed_at_override = attributes[:'completed_at_override']
119
+ end
120
+
121
+ if attributes.key?(:'name')
122
+ self.name = attributes[:'name']
123
+ end
124
+
125
+ if attributes.key?(:'state')
126
+ self.state = attributes[:'state']
127
+ end
128
+
129
+ if attributes.key?(:'started_at_override')
130
+ self.started_at_override = attributes[:'started_at_override']
131
+ end
132
+
133
+ if attributes.key?(:'categories')
134
+ if (value = attributes[:'categories']).is_a?(Array)
135
+ self.categories = value
136
+ end
137
+ end
138
+
139
+ if attributes.key?(:'before_id')
140
+ self.before_id = attributes[:'before_id']
141
+ end
142
+
143
+ if attributes.key?(:'after_id')
144
+ self.after_id = attributes[:'after_id']
145
+ end
146
+ end
147
+
148
+ # Show invalid properties with the reasons. Usually used together with valid?
149
+ # @return Array for valid properties with the reasons
150
+ def list_invalid_properties
151
+ invalid_properties = Array.new
152
+ invalid_properties
153
+ end
154
+
155
+ # Check to see if the all the properties in the model are valid
156
+ # @return true if the model is valid
157
+ def valid?
158
+ state_validator = EnumAttributeValidator.new('Object', ['in progress', 'to do', 'done'])
159
+ return false unless state_validator.valid?(@state)
160
+ true
161
+ end
162
+
163
+ # Custom attribute writer method checking allowed values (enum).
164
+ # @param [Object] state Object to be assigned
165
+ def state=(state)
166
+ validator = EnumAttributeValidator.new('Object', ['in progress', 'to do', 'done'])
167
+ unless validator.valid?(state)
168
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
169
+ end
170
+ @state = state
171
+ end
172
+
173
+ # Checks equality by comparing each attribute.
174
+ # @param [Object] Object to be compared
175
+ def ==(o)
176
+ return true if self.equal?(o)
177
+ self.class == o.class &&
178
+ description == o.description &&
179
+ completed_at_override == o.completed_at_override &&
180
+ name == o.name &&
181
+ state == o.state &&
182
+ started_at_override == o.started_at_override &&
183
+ categories == o.categories &&
184
+ before_id == o.before_id &&
185
+ after_id == o.after_id
186
+ end
187
+
188
+ # @see the `==` method
189
+ # @param [Object] Object to be compared
190
+ def eql?(o)
191
+ self == o
192
+ end
193
+
194
+ # Calculates hash code according to all attributes.
195
+ # @return [Integer] Hash code
196
+ def hash
197
+ [description, completed_at_override, name, state, started_at_override, categories, before_id, after_id].hash
198
+ end
199
+
200
+ # Builds the object from hash
201
+ # @param [Hash] attributes Model attributes in the form of hash
202
+ # @return [Object] Returns the model itself
203
+ def self.build_from_hash(attributes)
204
+ new.build_from_hash(attributes)
205
+ end
206
+
207
+ # Builds the object from hash
208
+ # @param [Hash] attributes Model attributes in the form of hash
209
+ # @return [Object] Returns the model itself
210
+ def build_from_hash(attributes)
211
+ return nil unless attributes.is_a?(Hash)
212
+ self.class.openapi_types.each_pair do |key, type|
213
+ if type =~ /\AArray<(.*)>/i
214
+ # check to ensure the input is an array given that the attribute
215
+ # is documented as an array but the input is not
216
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
217
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
218
+ end
219
+ elsif !attributes[self.class.attribute_map[key]].nil?
220
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
221
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
222
+ self.send("#{key}=", nil)
223
+ end
224
+ end
225
+
226
+ self
227
+ end
228
+
229
+ # Deserializes the data based on type
230
+ # @param string type Data type
231
+ # @param string value Value to be deserialized
232
+ # @return [Object] Deserialized data
233
+ def _deserialize(type, value)
234
+ case type.to_sym
235
+ when :DateTime
236
+ DateTime.parse(value)
237
+ when :Date
238
+ Date.parse(value)
239
+ when :String
240
+ value.to_s
241
+ when :Integer
242
+ value.to_i
243
+ when :Float
244
+ value.to_f
245
+ when :Boolean
246
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
247
+ true
248
+ else
249
+ false
250
+ end
251
+ when :Object
252
+ # generic object (usually a Hash), return directly
253
+ value
254
+ when /\AArray<(?<inner_type>.+)>\z/
255
+ inner_type = Regexp.last_match[:inner_type]
256
+ value.map { |v| _deserialize(inner_type, v) }
257
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
+ k_type = Regexp.last_match[:k_type]
259
+ v_type = Regexp.last_match[:v_type]
260
+ {}.tap do |hash|
261
+ value.each do |k, v|
262
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
+ end
264
+ end
265
+ else # model
266
+ Shortcut.const_get(type).build_from_hash(value)
267
+ end
268
+ end
269
+
270
+ # Returns the string representation of the object
271
+ # @return [String] String presentation of the object
272
+ def to_s
273
+ to_hash.to_s
274
+ end
275
+
276
+ # to_body is an alias to to_hash (backward compatibility)
277
+ # @return [Hash] Returns the object in the form of hash
278
+ def to_body
279
+ to_hash
280
+ end
281
+
282
+ # Returns the object in the form of hash
283
+ # @return [Hash] Returns the object in the form of hash
284
+ def to_hash
285
+ hash = {}
286
+ self.class.attribute_map.each_pair do |attr, param|
287
+ value = self.send(attr)
288
+ if value.nil?
289
+ is_nullable = self.class.openapi_nullable.include?(attr)
290
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
291
+ end
292
+
293
+ hash[param] = _to_hash(value)
294
+ end
295
+ hash
296
+ end
297
+
298
+ # Outputs non-array value in the form of hash
299
+ # For object, use to_hash. Otherwise, just return the value
300
+ # @param [Object] value Any valid value
301
+ # @return [Hash] Returns the value in the form of hash
302
+ def _to_hash(value)
303
+ if value.is_a?(Array)
304
+ value.compact.map { |v| _to_hash(v) }
305
+ elsif value.is_a?(Hash)
306
+ {}.tap do |hash|
307
+ value.each { |k, v| hash[k] = _to_hash(v) }
308
+ end
309
+ elsif value.respond_to? :to_hash
310
+ value.to_hash
311
+ else
312
+ value
313
+ end
314
+ end end
315
+ end
@@ -0,0 +1,289 @@
1
+ =begin
2
+ #Shortcut API
3
+
4
+ #Shortcut API
5
+
6
+ OpenAPI spec version: 3.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.35
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Shortcut
15
+ class UpdateProject
16
+ # The Project's description.
17
+ attr_accessor :description
18
+
19
+ # A true/false boolean indicating whether the Story is in archived state.
20
+ attr_accessor :archived
21
+
22
+ # The number of days before the thermometer appears in the Story summary.
23
+ attr_accessor :days_to_thermometer
24
+
25
+ # The color that represents the Project in the UI.
26
+ attr_accessor :color
27
+
28
+ # The Project's name.
29
+ attr_accessor :name
30
+
31
+ # An array of UUIDs for any Members you want to add as Followers.
32
+ attr_accessor :follower_ids
33
+
34
+ # Configuration to enable or disable thermometers in the Story summary.
35
+ attr_accessor :show_thermometer
36
+
37
+ # The ID of the team the project belongs to.
38
+ attr_accessor :team_id
39
+
40
+ # The Project abbreviation used in Story summaries. Should be kept to 3 characters at most.
41
+ attr_accessor :abbreviation
42
+
43
+ # Attribute mapping from ruby-style variable name to JSON key.
44
+ def self.attribute_map
45
+ {
46
+ :'description' => :'description',
47
+ :'archived' => :'archived',
48
+ :'days_to_thermometer' => :'days_to_thermometer',
49
+ :'color' => :'color',
50
+ :'name' => :'name',
51
+ :'follower_ids' => :'follower_ids',
52
+ :'show_thermometer' => :'show_thermometer',
53
+ :'team_id' => :'team_id',
54
+ :'abbreviation' => :'abbreviation'
55
+ }
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'description' => :'Object',
62
+ :'archived' => :'Object',
63
+ :'days_to_thermometer' => :'Object',
64
+ :'color' => :'Object',
65
+ :'name' => :'Object',
66
+ :'follower_ids' => :'Object',
67
+ :'show_thermometer' => :'Object',
68
+ :'team_id' => :'Object',
69
+ :'abbreviation' => :'Object'
70
+ }
71
+ end
72
+
73
+ # List of attributes with nullable: true
74
+ def self.openapi_nullable
75
+ Set.new([
76
+ ])
77
+ end
78
+
79
+ # Initializes the object
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shortcut::UpdateProject` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ attributes = attributes.each_with_object({}) { |(k, v), h|
88
+ if (!self.class.attribute_map.key?(k.to_sym))
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shortcut::UpdateProject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ end
91
+ h[k.to_sym] = v
92
+ }
93
+
94
+ if attributes.key?(:'description')
95
+ self.description = attributes[:'description']
96
+ end
97
+
98
+ if attributes.key?(:'archived')
99
+ self.archived = attributes[:'archived']
100
+ end
101
+
102
+ if attributes.key?(:'days_to_thermometer')
103
+ self.days_to_thermometer = attributes[:'days_to_thermometer']
104
+ end
105
+
106
+ if attributes.key?(:'color')
107
+ self.color = attributes[:'color']
108
+ end
109
+
110
+ if attributes.key?(:'name')
111
+ self.name = attributes[:'name']
112
+ end
113
+
114
+ if attributes.key?(:'follower_ids')
115
+ if (value = attributes[:'follower_ids']).is_a?(Array)
116
+ self.follower_ids = value
117
+ end
118
+ end
119
+
120
+ if attributes.key?(:'show_thermometer')
121
+ self.show_thermometer = attributes[:'show_thermometer']
122
+ end
123
+
124
+ if attributes.key?(:'team_id')
125
+ self.team_id = attributes[:'team_id']
126
+ end
127
+
128
+ if attributes.key?(:'abbreviation')
129
+ self.abbreviation = attributes[:'abbreviation']
130
+ end
131
+ end
132
+
133
+ # Show invalid properties with the reasons. Usually used together with valid?
134
+ # @return Array for valid properties with the reasons
135
+ def list_invalid_properties
136
+ invalid_properties = Array.new
137
+ invalid_properties
138
+ end
139
+
140
+ # Check to see if the all the properties in the model are valid
141
+ # @return true if the model is valid
142
+ def valid?
143
+ true
144
+ end
145
+
146
+ # Checks equality by comparing each attribute.
147
+ # @param [Object] Object to be compared
148
+ def ==(o)
149
+ return true if self.equal?(o)
150
+ self.class == o.class &&
151
+ description == o.description &&
152
+ archived == o.archived &&
153
+ days_to_thermometer == o.days_to_thermometer &&
154
+ color == o.color &&
155
+ name == o.name &&
156
+ follower_ids == o.follower_ids &&
157
+ show_thermometer == o.show_thermometer &&
158
+ team_id == o.team_id &&
159
+ abbreviation == o.abbreviation
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Integer] Hash code
170
+ def hash
171
+ [description, archived, days_to_thermometer, color, name, follower_ids, show_thermometer, team_id, abbreviation].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def self.build_from_hash(attributes)
178
+ new.build_from_hash(attributes)
179
+ end
180
+
181
+ # Builds the object from hash
182
+ # @param [Hash] attributes Model attributes in the form of hash
183
+ # @return [Object] Returns the model itself
184
+ def build_from_hash(attributes)
185
+ return nil unless attributes.is_a?(Hash)
186
+ self.class.openapi_types.each_pair do |key, type|
187
+ if type =~ /\AArray<(.*)>/i
188
+ # check to ensure the input is an array given that the attribute
189
+ # is documented as an array but the input is not
190
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
191
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
192
+ end
193
+ elsif !attributes[self.class.attribute_map[key]].nil?
194
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
195
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
196
+ self.send("#{key}=", nil)
197
+ end
198
+ end
199
+
200
+ self
201
+ end
202
+
203
+ # Deserializes the data based on type
204
+ # @param string type Data type
205
+ # @param string value Value to be deserialized
206
+ # @return [Object] Deserialized data
207
+ def _deserialize(type, value)
208
+ case type.to_sym
209
+ when :DateTime
210
+ DateTime.parse(value)
211
+ when :Date
212
+ Date.parse(value)
213
+ when :String
214
+ value.to_s
215
+ when :Integer
216
+ value.to_i
217
+ when :Float
218
+ value.to_f
219
+ when :Boolean
220
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
221
+ true
222
+ else
223
+ false
224
+ end
225
+ when :Object
226
+ # generic object (usually a Hash), return directly
227
+ value
228
+ when /\AArray<(?<inner_type>.+)>\z/
229
+ inner_type = Regexp.last_match[:inner_type]
230
+ value.map { |v| _deserialize(inner_type, v) }
231
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
232
+ k_type = Regexp.last_match[:k_type]
233
+ v_type = Regexp.last_match[:v_type]
234
+ {}.tap do |hash|
235
+ value.each do |k, v|
236
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
237
+ end
238
+ end
239
+ else # model
240
+ Shortcut.const_get(type).build_from_hash(value)
241
+ end
242
+ end
243
+
244
+ # Returns the string representation of the object
245
+ # @return [String] String presentation of the object
246
+ def to_s
247
+ to_hash.to_s
248
+ end
249
+
250
+ # to_body is an alias to to_hash (backward compatibility)
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # Returns the object in the form of hash
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_hash
259
+ hash = {}
260
+ self.class.attribute_map.each_pair do |attr, param|
261
+ value = self.send(attr)
262
+ if value.nil?
263
+ is_nullable = self.class.openapi_nullable.include?(attr)
264
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
265
+ end
266
+
267
+ hash[param] = _to_hash(value)
268
+ end
269
+ hash
270
+ end
271
+
272
+ # Outputs non-array value in the form of hash
273
+ # For object, use to_hash. Otherwise, just return the value
274
+ # @param [Object] value Any valid value
275
+ # @return [Hash] Returns the value in the form of hash
276
+ def _to_hash(value)
277
+ if value.is_a?(Array)
278
+ value.compact.map { |v| _to_hash(v) }
279
+ elsif value.is_a?(Hash)
280
+ {}.tap do |hash|
281
+ value.each { |k, v| hash[k] = _to_hash(v) }
282
+ end
283
+ elsif value.respond_to? :to_hash
284
+ value.to_hash
285
+ else
286
+ value
287
+ end
288
+ end end
289
+ end