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