freeclimb 3.0.2 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (336) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/Gemfile +4 -1
  4. data/Gemfile.lock +33 -19
  5. data/README.md +40 -35
  6. data/docs/AccountRequest.md +9 -8
  7. data/docs/AccountResult.md +27 -26
  8. data/docs/AccountResultAllOf.md +19 -18
  9. data/docs/AddToConference.md +25 -24
  10. data/docs/AddToConferenceAllOf.md +25 -24
  11. data/docs/ApplicationList.md +21 -20
  12. data/docs/ApplicationListAllOf.md +7 -6
  13. data/docs/ApplicationRequest.md +19 -18
  14. data/docs/ApplicationResult.md +31 -30
  15. data/docs/ApplicationResultAllOf.md +23 -22
  16. data/docs/AvailableNumber.md +19 -14
  17. data/docs/AvailableNumberList.md +21 -20
  18. data/docs/AvailableNumberListAllOf.md +7 -6
  19. data/docs/BuyIncomingNumberRequest.md +11 -10
  20. data/docs/CallList.md +21 -20
  21. data/docs/CallListAllOf.md +7 -6
  22. data/docs/CallResult.md +43 -42
  23. data/docs/CallResultAllOf.md +35 -34
  24. data/docs/Capabilities.md +26 -0
  25. data/docs/ConferenceList.md +21 -20
  26. data/docs/ConferenceListAllOf.md +7 -6
  27. data/docs/ConferenceParticipantList.md +21 -20
  28. data/docs/ConferenceParticipantListAllOf.md +7 -6
  29. data/docs/ConferenceParticipantResult.md +25 -24
  30. data/docs/ConferenceParticipantResultAllOf.md +17 -16
  31. data/docs/ConferenceResult.md +33 -32
  32. data/docs/ConferenceResultAllOf.md +25 -24
  33. data/docs/CreateConference.md +17 -16
  34. data/docs/CreateConferenceAllOf.md +17 -16
  35. data/docs/CreateConferenceRequest.md +15 -14
  36. data/docs/DefaultApi.md +1625 -647
  37. data/docs/Dequeue.md +3 -4
  38. data/docs/Enqueue.md +13 -12
  39. data/docs/EnqueueAllOf.md +13 -12
  40. data/docs/FilterLogsRequest.md +7 -6
  41. data/docs/GetDigits.md +23 -22
  42. data/docs/GetDigitsAllOf.md +23 -22
  43. data/docs/GetSpeech.md +31 -30
  44. data/docs/GetSpeechAllOf.md +31 -30
  45. data/docs/Hangup.md +7 -6
  46. data/docs/HangupAllOf.md +7 -6
  47. data/docs/IncomingNumberList.md +21 -20
  48. data/docs/IncomingNumberListAllOf.md +7 -6
  49. data/docs/IncomingNumberRequest.md +9 -8
  50. data/docs/IncomingNumberResult.md +35 -30
  51. data/docs/IncomingNumberResultAllOf.md +27 -22
  52. data/docs/LogList.md +21 -20
  53. data/docs/LogListAllOf.md +7 -6
  54. data/docs/LogResult.md +19 -18
  55. data/docs/MakeCallRequest.md +25 -24
  56. data/docs/MessageRequest.md +23 -22
  57. data/docs/MessageRequestAllOf.md +15 -14
  58. data/docs/MessageResult.md +29 -28
  59. data/docs/MessageResultAllOf.md +21 -20
  60. data/docs/MessagesList.md +21 -20
  61. data/docs/MessagesListAllOf.md +7 -6
  62. data/docs/MutableResourceModel.md +13 -12
  63. data/docs/OutDial.md +25 -24
  64. data/docs/OutDialAllOf.md +25 -24
  65. data/docs/PaginationModel.md +19 -18
  66. data/docs/Park.md +22 -0
  67. data/docs/ParkAllOf.md +22 -0
  68. data/docs/Pause.md +7 -6
  69. data/docs/PauseAllOf.md +7 -6
  70. data/docs/PerclCommand.md +7 -6
  71. data/docs/PerclScript.md +7 -6
  72. data/docs/Play.md +13 -12
  73. data/docs/PlayAllOf.md +13 -12
  74. data/docs/PlayEarlyMedia.md +7 -6
  75. data/docs/PlayEarlyMediaAllOf.md +7 -6
  76. data/docs/QueueList.md +21 -20
  77. data/docs/QueueListAllOf.md +7 -6
  78. data/docs/QueueMember.md +15 -14
  79. data/docs/QueueMemberList.md +21 -20
  80. data/docs/QueueMemberListAllOf.md +7 -6
  81. data/docs/QueueRequest.md +9 -8
  82. data/docs/QueueResult.md +27 -26
  83. data/docs/QueueResultAllOf.md +19 -18
  84. data/docs/RecordUtterance.md +19 -18
  85. data/docs/RecordUtteranceAllOf.md +19 -18
  86. data/docs/RecordingList.md +21 -20
  87. data/docs/RecordingListAllOf.md +7 -6
  88. data/docs/RecordingResult.md +23 -22
  89. data/docs/RecordingResultAllOf.md +15 -14
  90. data/docs/Redirect.md +7 -6
  91. data/docs/RedirectAllOf.md +7 -6
  92. data/docs/Reject.md +7 -6
  93. data/docs/RejectAllOf.md +7 -6
  94. data/docs/RemoveFromConference.md +7 -6
  95. data/docs/RemoveFromConferenceAllOf.md +7 -6
  96. data/docs/Say.md +15 -14
  97. data/docs/SayAllOf.md +15 -14
  98. data/docs/SendDigits.md +11 -10
  99. data/docs/SendDigitsAllOf.md +11 -10
  100. data/docs/SetListen.md +9 -8
  101. data/docs/SetListenAllOf.md +9 -8
  102. data/docs/SetTalk.md +9 -8
  103. data/docs/SetTalkAllOf.md +9 -8
  104. data/docs/Sms.md +13 -12
  105. data/docs/SmsAllOf.md +13 -12
  106. data/docs/StartRecordCall.md +3 -4
  107. data/docs/TerminateConference.md +7 -6
  108. data/docs/TerminateConferenceAllOf.md +7 -6
  109. data/docs/Unpark.md +15 -0
  110. data/docs/UpdateCallRequest.md +7 -6
  111. data/docs/UpdateConferenceParticipantRequest.md +9 -8
  112. data/docs/UpdateConferenceRequest.md +11 -10
  113. data/freeclimb.gemspec +3 -4
  114. data/lib/freeclimb/api/default_api.rb +434 -278
  115. data/lib/freeclimb/api_client.rb +55 -51
  116. data/lib/freeclimb/api_error.rb +2 -2
  117. data/lib/freeclimb/configuration.rb +41 -11
  118. data/lib/freeclimb/models/account_request.rb +20 -8
  119. data/lib/freeclimb/models/account_result.rb +39 -8
  120. data/lib/freeclimb/models/account_result_all_of.rb +39 -8
  121. data/lib/freeclimb/models/add_to_conference.rb +21 -8
  122. data/lib/freeclimb/models/add_to_conference_all_of.rb +20 -8
  123. data/lib/freeclimb/models/application_list.rb +28 -8
  124. data/lib/freeclimb/models/application_list_all_of.rb +21 -8
  125. data/lib/freeclimb/models/application_request.rb +20 -8
  126. data/lib/freeclimb/models/application_result.rb +29 -8
  127. data/lib/freeclimb/models/application_result_all_of.rb +29 -8
  128. data/lib/freeclimb/models/available_number.rb +46 -9
  129. data/lib/freeclimb/models/available_number_list.rb +28 -8
  130. data/lib/freeclimb/models/available_number_list_all_of.rb +21 -8
  131. data/lib/freeclimb/models/buy_incoming_number_request.rb +20 -8
  132. data/lib/freeclimb/models/call_list.rb +28 -8
  133. data/lib/freeclimb/models/call_list_all_of.rb +21 -8
  134. data/lib/freeclimb/models/call_result.rb +35 -8
  135. data/lib/freeclimb/models/call_result_all_of.rb +35 -8
  136. data/lib/freeclimb/models/capabilities.rb +265 -0
  137. data/lib/freeclimb/models/conference_list.rb +28 -8
  138. data/lib/freeclimb/models/conference_list_all_of.rb +21 -8
  139. data/lib/freeclimb/models/conference_participant_list.rb +28 -8
  140. data/lib/freeclimb/models/conference_participant_list_all_of.rb +21 -8
  141. data/lib/freeclimb/models/conference_participant_result.rb +26 -8
  142. data/lib/freeclimb/models/conference_participant_result_all_of.rb +26 -8
  143. data/lib/freeclimb/models/conference_result.rb +30 -8
  144. data/lib/freeclimb/models/conference_result_all_of.rb +30 -8
  145. data/lib/freeclimb/models/create_conference.rb +21 -8
  146. data/lib/freeclimb/models/create_conference_all_of.rb +20 -8
  147. data/lib/freeclimb/models/create_conference_request.rb +20 -8
  148. data/lib/freeclimb/models/dequeue.rb +21 -8
  149. data/lib/freeclimb/models/enqueue.rb +21 -8
  150. data/lib/freeclimb/models/enqueue_all_of.rb +20 -8
  151. data/lib/freeclimb/models/filter_logs_request.rb +20 -8
  152. data/lib/freeclimb/models/get_digits.rb +21 -8
  153. data/lib/freeclimb/models/get_digits_all_of.rb +20 -8
  154. data/lib/freeclimb/models/get_speech.rb +21 -8
  155. data/lib/freeclimb/models/get_speech_all_of.rb +20 -8
  156. data/lib/freeclimb/models/hangup.rb +21 -8
  157. data/lib/freeclimb/models/hangup_all_of.rb +20 -8
  158. data/lib/freeclimb/models/incoming_number_list.rb +28 -8
  159. data/lib/freeclimb/models/incoming_number_list_all_of.rb +21 -8
  160. data/lib/freeclimb/models/incoming_number_request.rb +20 -8
  161. data/lib/freeclimb/models/incoming_number_result.rb +50 -9
  162. data/lib/freeclimb/models/incoming_number_result_all_of.rb +50 -9
  163. data/lib/freeclimb/models/log_list.rb +28 -8
  164. data/lib/freeclimb/models/log_list_all_of.rb +21 -8
  165. data/lib/freeclimb/models/log_result.rb +27 -8
  166. data/lib/freeclimb/models/make_call_request.rb +22 -8
  167. data/lib/freeclimb/models/message_request.rb +20 -8
  168. data/lib/freeclimb/models/message_request_all_of.rb +20 -8
  169. data/lib/freeclimb/models/message_result.rb +28 -8
  170. data/lib/freeclimb/models/message_result_all_of.rb +28 -8
  171. data/lib/freeclimb/models/messages_list.rb +28 -8
  172. data/lib/freeclimb/models/messages_list_all_of.rb +21 -8
  173. data/lib/freeclimb/models/mutable_resource_model.rb +20 -8
  174. data/lib/freeclimb/models/out_dial.rb +21 -8
  175. data/lib/freeclimb/models/out_dial_all_of.rb +20 -8
  176. data/lib/freeclimb/models/pagination_model.rb +27 -8
  177. data/lib/freeclimb/models/park.rb +263 -0
  178. data/lib/freeclimb/models/park_all_of.rb +249 -0
  179. data/lib/freeclimb/models/pause.rb +21 -8
  180. data/lib/freeclimb/models/pause_all_of.rb +20 -8
  181. data/lib/freeclimb/models/percl_command.rb +38 -8
  182. data/lib/freeclimb/models/percl_script.rb +24 -8
  183. data/lib/freeclimb/models/play.rb +21 -8
  184. data/lib/freeclimb/models/play_all_of.rb +20 -8
  185. data/lib/freeclimb/models/play_early_media.rb +21 -8
  186. data/lib/freeclimb/models/play_early_media_all_of.rb +20 -8
  187. data/lib/freeclimb/models/queue_list.rb +28 -8
  188. data/lib/freeclimb/models/queue_list_all_of.rb +21 -8
  189. data/lib/freeclimb/models/queue_member.rb +25 -8
  190. data/lib/freeclimb/models/queue_member_list.rb +28 -8
  191. data/lib/freeclimb/models/queue_member_list_all_of.rb +21 -8
  192. data/lib/freeclimb/models/queue_request.rb +22 -8
  193. data/lib/freeclimb/models/queue_result.rb +27 -8
  194. data/lib/freeclimb/models/queue_result_all_of.rb +27 -8
  195. data/lib/freeclimb/models/record_utterance.rb +21 -8
  196. data/lib/freeclimb/models/record_utterance_all_of.rb +20 -8
  197. data/lib/freeclimb/models/recording_list.rb +28 -8
  198. data/lib/freeclimb/models/recording_list_all_of.rb +21 -8
  199. data/lib/freeclimb/models/recording_result.rb +25 -8
  200. data/lib/freeclimb/models/recording_result_all_of.rb +25 -8
  201. data/lib/freeclimb/models/redirect.rb +21 -8
  202. data/lib/freeclimb/models/redirect_all_of.rb +20 -8
  203. data/lib/freeclimb/models/reject.rb +21 -8
  204. data/lib/freeclimb/models/reject_all_of.rb +20 -8
  205. data/lib/freeclimb/models/remove_from_conference.rb +21 -8
  206. data/lib/freeclimb/models/remove_from_conference_all_of.rb +20 -8
  207. data/lib/freeclimb/models/say.rb +23 -8
  208. data/lib/freeclimb/models/say_all_of.rb +22 -8
  209. data/lib/freeclimb/models/send_digits.rb +21 -8
  210. data/lib/freeclimb/models/send_digits_all_of.rb +20 -8
  211. data/lib/freeclimb/models/set_listen.rb +21 -8
  212. data/lib/freeclimb/models/set_listen_all_of.rb +20 -8
  213. data/lib/freeclimb/models/set_talk.rb +21 -8
  214. data/lib/freeclimb/models/set_talk_all_of.rb +20 -8
  215. data/lib/freeclimb/models/sms.rb +21 -8
  216. data/lib/freeclimb/models/sms_all_of.rb +20 -8
  217. data/lib/freeclimb/models/start_record_call.rb +21 -8
  218. data/lib/freeclimb/models/terminate_conference.rb +21 -8
  219. data/lib/freeclimb/models/terminate_conference_all_of.rb +20 -8
  220. data/lib/freeclimb/models/unpark.rb +222 -0
  221. data/lib/freeclimb/models/update_call_request.rb +20 -8
  222. data/lib/freeclimb/models/update_conference_participant_request.rb +20 -8
  223. data/lib/freeclimb/models/update_conference_request.rb +20 -8
  224. data/lib/freeclimb/version.rb +3 -3
  225. data/lib/freeclimb.rb +28 -52
  226. data/spec/api/default_api_spec.rb +1004 -21
  227. data/spec/api_client_spec.rb +5 -5
  228. data/spec/configuration_spec.rb +10 -10
  229. data/spec/factories.rb +80 -0
  230. data/spec/models/account_request_spec.rb +5 -12
  231. data/spec/models/account_result_spec.rb +10 -13
  232. data/spec/models/add_to_conference_spec.rb +5 -12
  233. data/spec/models/application_list_spec.rb +5 -12
  234. data/spec/models/application_request_spec.rb +5 -12
  235. data/spec/models/application_result_spec.rb +5 -12
  236. data/spec/models/available_number_list_spec.rb +5 -12
  237. data/spec/models/available_number_spec.rb +11 -12
  238. data/spec/models/buy_incoming_number_request_spec.rb +5 -12
  239. data/spec/models/call_list_spec.rb +5 -12
  240. data/spec/models/call_result_spec.rb +6 -13
  241. data/spec/models/{say_all_of_spec.rb → capabilities_spec.rb} +13 -20
  242. data/spec/models/conference_list_spec.rb +5 -12
  243. data/spec/models/conference_participant_list_spec.rb +5 -12
  244. data/spec/models/conference_participant_result_spec.rb +5 -12
  245. data/spec/models/conference_result_spec.rb +7 -14
  246. data/spec/models/create_conference_request_spec.rb +6 -13
  247. data/spec/models/create_conference_spec.rb +5 -12
  248. data/spec/models/dequeue_spec.rb +5 -12
  249. data/spec/models/enqueue_spec.rb +5 -12
  250. data/spec/models/filter_logs_request_spec.rb +5 -12
  251. data/spec/models/get_digits_spec.rb +5 -12
  252. data/spec/models/get_speech_spec.rb +5 -12
  253. data/spec/models/hangup_spec.rb +5 -12
  254. data/spec/models/incoming_number_list_spec.rb +5 -12
  255. data/spec/models/incoming_number_request_spec.rb +5 -12
  256. data/spec/models/incoming_number_result_spec.rb +11 -12
  257. data/spec/models/log_list_spec.rb +5 -12
  258. data/spec/models/log_result_spec.rb +6 -13
  259. data/spec/models/make_call_request_spec.rb +5 -12
  260. data/spec/models/message_request_spec.rb +5 -12
  261. data/spec/models/message_result_spec.rb +6 -13
  262. data/spec/models/messages_list_spec.rb +5 -12
  263. data/spec/models/mutable_resource_model_spec.rb +5 -12
  264. data/spec/models/out_dial_spec.rb +5 -12
  265. data/spec/models/pagination_model_spec.rb +5 -12
  266. data/spec/models/{enqueue_all_of_spec.rb → park_spec.rb} +11 -24
  267. data/spec/models/pause_spec.rb +5 -12
  268. data/spec/models/percl_command_spec.rb +5 -12
  269. data/spec/models/percl_script_spec.rb +5 -12
  270. data/spec/models/play_early_media_spec.rb +5 -12
  271. data/spec/models/play_spec.rb +5 -12
  272. data/spec/models/queue_list_spec.rb +5 -12
  273. data/spec/models/queue_member_list_spec.rb +5 -12
  274. data/spec/models/queue_member_spec.rb +5 -12
  275. data/spec/models/queue_request_spec.rb +5 -12
  276. data/spec/models/queue_result_spec.rb +5 -12
  277. data/spec/models/record_utterance_spec.rb +5 -12
  278. data/spec/models/recording_list_spec.rb +5 -12
  279. data/spec/models/recording_result_spec.rb +5 -12
  280. data/spec/models/redirect_spec.rb +5 -12
  281. data/spec/models/reject_spec.rb +5 -12
  282. data/spec/models/remove_from_conference_spec.rb +5 -12
  283. data/spec/models/say_spec.rb +5 -12
  284. data/spec/models/send_digits_spec.rb +5 -12
  285. data/spec/models/set_listen_spec.rb +5 -12
  286. data/spec/models/set_talk_spec.rb +5 -12
  287. data/spec/models/sms_spec.rb +5 -12
  288. data/spec/models/start_record_call_spec.rb +5 -12
  289. data/spec/models/terminate_conference_spec.rb +5 -12
  290. data/spec/models/{pause_all_of_spec.rb → unpark_spec.rb} +8 -21
  291. data/spec/models/update_call_request_spec.rb +6 -13
  292. data/spec/models/update_conference_participant_request_spec.rb +5 -12
  293. data/spec/models/update_conference_request_spec.rb +6 -13
  294. data/spec/quickstart_spec.rb +10 -0
  295. data/spec/spec_helper.rb +61 -2
  296. metadata +75 -162
  297. data/lib/freeclimb/utils.rb +0 -34
  298. data/spec/api/web_mocks.rb +0 -473
  299. data/spec/models/account_result_all_of_spec.rb +0 -81
  300. data/spec/models/add_to_conference_all_of_spec.rb +0 -95
  301. data/spec/models/application_list_all_of_spec.rb +0 -41
  302. data/spec/models/application_result_all_of_spec.rb +0 -89
  303. data/spec/models/available_number_list_all_of_spec.rb +0 -41
  304. data/spec/models/call_list_all_of_spec.rb +0 -41
  305. data/spec/models/call_result_all_of_spec.rb +0 -129
  306. data/spec/models/conference_list_all_of_spec.rb +0 -41
  307. data/spec/models/conference_participant_list_all_of_spec.rb +0 -41
  308. data/spec/models/conference_participant_result_all_of_spec.rb +0 -71
  309. data/spec/models/conference_result_all_of_spec.rb +0 -103
  310. data/spec/models/create_conference_all_of_spec.rb +0 -71
  311. data/spec/models/get_digits_all_of_spec.rb +0 -89
  312. data/spec/models/get_speech_all_of_spec.rb +0 -113
  313. data/spec/models/hangup_all_of_spec.rb +0 -41
  314. data/spec/models/incoming_number_list_all_of_spec.rb +0 -41
  315. data/spec/models/incoming_number_result_all_of_spec.rb +0 -89
  316. data/spec/models/log_list_all_of_spec.rb +0 -41
  317. data/spec/models/message_request_all_of_spec.rb +0 -65
  318. data/spec/models/message_result_all_of_spec.rb +0 -87
  319. data/spec/models/messages_list_all_of_spec.rb +0 -41
  320. data/spec/models/out_dial_all_of_spec.rb +0 -95
  321. data/spec/models/play_all_of_spec.rb +0 -59
  322. data/spec/models/play_early_media_all_of_spec.rb +0 -41
  323. data/spec/models/queue_list_all_of_spec.rb +0 -41
  324. data/spec/models/queue_member_list_all_of_spec.rb +0 -41
  325. data/spec/models/queue_result_all_of_spec.rb +0 -77
  326. data/spec/models/record_utterance_all_of_spec.rb +0 -77
  327. data/spec/models/recording_list_all_of_spec.rb +0 -41
  328. data/spec/models/recording_result_all_of_spec.rb +0 -65
  329. data/spec/models/redirect_all_of_spec.rb +0 -41
  330. data/spec/models/reject_all_of_spec.rb +0 -41
  331. data/spec/models/remove_from_conference_all_of_spec.rb +0 -41
  332. data/spec/models/send_digits_all_of_spec.rb +0 -53
  333. data/spec/models/set_listen_all_of_spec.rb +0 -47
  334. data/spec/models/set_talk_all_of_spec.rb +0 -47
  335. data/spec/models/sms_all_of_spec.rb +0 -59
  336. data/spec/models/terminate_conference_all_of_spec.rb +0 -41
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueListAllOf
@@ -23,6 +24,11 @@ module Freeclimb
23
24
  }
24
25
  end
25
26
 
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
26
32
  # Attribute type mapping.
27
33
  def self.openapi_types
28
34
  {
@@ -33,6 +39,7 @@ module Freeclimb
33
39
  # List of attributes with nullable: true
34
40
  def self.openapi_nullable
35
41
  Set.new([
42
+ :'queues'
36
43
  ])
37
44
  end
38
45
 
@@ -104,7 +111,9 @@ module Freeclimb
104
111
  def build_from_hash(attributes)
105
112
  return nil unless attributes.is_a?(Hash)
106
113
  self.class.openapi_types.each_pair do |key, type|
107
- if type =~ /\AArray<(.*)>/i
114
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
115
+ self.send("#{key}=", nil)
116
+ elsif type =~ /\AArray<(.*)>/i
108
117
  # check to ensure the input is an array given that the attribute
109
118
  # is documented as an array but the input is not
110
119
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -112,7 +121,7 @@ module Freeclimb
112
121
  end
113
122
  elsif !attributes[self.class.attribute_map[key]].nil?
114
123
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
- end # or else data not found in attributes(hash), not an issue as the data can be optional
124
+ end
116
125
  end
117
126
 
118
127
  self
@@ -124,8 +133,8 @@ module Freeclimb
124
133
  # @return [Object] Deserialized data
125
134
  def _deserialize(type, value)
126
135
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
136
+ when :Time
137
+ Time.parse(value)
129
138
  when :Date
130
139
  Date.parse(value)
131
140
  when :String
@@ -155,7 +164,9 @@ module Freeclimb
155
164
  end
156
165
  end
157
166
  else # model
158
- Freeclimb.const_get(type).build_from_hash(value)
167
+ # models (e.g. Pet) or oneOf
168
+ klass = Freeclimb.const_get(type)
169
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
170
  end
160
171
  end
161
172
 
@@ -181,7 +192,7 @@ module Freeclimb
181
192
  is_nullable = self.class.openapi_nullable.include?(attr)
182
193
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
194
  end
184
-
195
+
185
196
  hash[param] = _to_hash(value)
186
197
  end
187
198
  hash
@@ -204,5 +215,7 @@ module Freeclimb
204
215
  value
205
216
  end
206
217
  end
218
+
207
219
  end
220
+
208
221
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueMember
@@ -40,6 +41,11 @@ module Freeclimb
40
41
  }
41
42
  end
42
43
 
44
+ # Returns all the JSON keys this model knows about
45
+ def self.acceptable_attributes
46
+ attribute_map.values
47
+ end
48
+
43
49
  # Attribute type mapping.
44
50
  def self.openapi_types
45
51
  {
@@ -54,6 +60,11 @@ module Freeclimb
54
60
  # List of attributes with nullable: true
55
61
  def self.openapi_nullable
56
62
  Set.new([
63
+ :'uri',
64
+ :'call_id',
65
+ :'wait_time',
66
+ :'position',
67
+ :'date_enqueued'
57
68
  ])
58
69
  end
59
70
 
@@ -143,7 +154,9 @@ module Freeclimb
143
154
  def build_from_hash(attributes)
144
155
  return nil unless attributes.is_a?(Hash)
145
156
  self.class.openapi_types.each_pair do |key, type|
146
- if type =~ /\AArray<(.*)>/i
157
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
158
+ self.send("#{key}=", nil)
159
+ elsif type =~ /\AArray<(.*)>/i
147
160
  # check to ensure the input is an array given that the attribute
148
161
  # is documented as an array but the input is not
149
162
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -151,7 +164,7 @@ module Freeclimb
151
164
  end
152
165
  elsif !attributes[self.class.attribute_map[key]].nil?
153
166
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
154
- end # or else data not found in attributes(hash), not an issue as the data can be optional
167
+ end
155
168
  end
156
169
 
157
170
  self
@@ -163,8 +176,8 @@ module Freeclimb
163
176
  # @return [Object] Deserialized data
164
177
  def _deserialize(type, value)
165
178
  case type.to_sym
166
- when :DateTime
167
- DateTime.parse(value)
179
+ when :Time
180
+ Time.parse(value)
168
181
  when :Date
169
182
  Date.parse(value)
170
183
  when :String
@@ -194,7 +207,9 @@ module Freeclimb
194
207
  end
195
208
  end
196
209
  else # model
197
- Freeclimb.const_get(type).build_from_hash(value)
210
+ # models (e.g. Pet) or oneOf
211
+ klass = Freeclimb.const_get(type)
212
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
198
213
  end
199
214
  end
200
215
 
@@ -220,7 +235,7 @@ module Freeclimb
220
235
  is_nullable = self.class.openapi_nullable.include?(attr)
221
236
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
237
  end
223
-
238
+
224
239
  hash[param] = _to_hash(value)
225
240
  end
226
241
  hash
@@ -243,5 +258,7 @@ module Freeclimb
243
258
  value
244
259
  end
245
260
  end
261
+
246
262
  end
263
+
247
264
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueMemberList
@@ -51,6 +52,11 @@ module Freeclimb
51
52
  }
52
53
  end
53
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
54
60
  # Attribute type mapping.
55
61
  def self.openapi_types
56
62
  {
@@ -68,6 +74,14 @@ module Freeclimb
68
74
  # List of attributes with nullable: true
69
75
  def self.openapi_nullable
70
76
  Set.new([
77
+ :'total',
78
+ :'start',
79
+ :'_end',
80
+ :'page',
81
+ :'num_pages',
82
+ :'page_size',
83
+ :'next_page_uri',
84
+ :'queue_members'
71
85
  ])
72
86
  end
73
87
 
@@ -182,7 +196,9 @@ module Freeclimb
182
196
  def build_from_hash(attributes)
183
197
  return nil unless attributes.is_a?(Hash)
184
198
  self.class.openapi_types.each_pair do |key, type|
185
- if type =~ /\AArray<(.*)>/i
199
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
200
+ self.send("#{key}=", nil)
201
+ elsif type =~ /\AArray<(.*)>/i
186
202
  # check to ensure the input is an array given that the attribute
187
203
  # is documented as an array but the input is not
188
204
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -190,7 +206,7 @@ module Freeclimb
190
206
  end
191
207
  elsif !attributes[self.class.attribute_map[key]].nil?
192
208
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
193
- end # or else data not found in attributes(hash), not an issue as the data can be optional
209
+ end
194
210
  end
195
211
 
196
212
  self
@@ -202,8 +218,8 @@ module Freeclimb
202
218
  # @return [Object] Deserialized data
203
219
  def _deserialize(type, value)
204
220
  case type.to_sym
205
- when :DateTime
206
- DateTime.parse(value)
221
+ when :Time
222
+ Time.parse(value)
207
223
  when :Date
208
224
  Date.parse(value)
209
225
  when :String
@@ -233,7 +249,9 @@ module Freeclimb
233
249
  end
234
250
  end
235
251
  else # model
236
- Freeclimb.const_get(type).build_from_hash(value)
252
+ # models (e.g. Pet) or oneOf
253
+ klass = Freeclimb.const_get(type)
254
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
237
255
  end
238
256
  end
239
257
 
@@ -259,7 +277,7 @@ module Freeclimb
259
277
  is_nullable = self.class.openapi_nullable.include?(attr)
260
278
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
261
279
  end
262
-
280
+
263
281
  hash[param] = _to_hash(value)
264
282
  end
265
283
  hash
@@ -282,5 +300,7 @@ module Freeclimb
282
300
  value
283
301
  end
284
302
  end
303
+
285
304
  end
305
+
286
306
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueMemberListAllOf
@@ -23,6 +24,11 @@ module Freeclimb
23
24
  }
24
25
  end
25
26
 
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
26
32
  # Attribute type mapping.
27
33
  def self.openapi_types
28
34
  {
@@ -33,6 +39,7 @@ module Freeclimb
33
39
  # List of attributes with nullable: true
34
40
  def self.openapi_nullable
35
41
  Set.new([
42
+ :'queue_members'
36
43
  ])
37
44
  end
38
45
 
@@ -104,7 +111,9 @@ module Freeclimb
104
111
  def build_from_hash(attributes)
105
112
  return nil unless attributes.is_a?(Hash)
106
113
  self.class.openapi_types.each_pair do |key, type|
107
- if type =~ /\AArray<(.*)>/i
114
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
115
+ self.send("#{key}=", nil)
116
+ elsif type =~ /\AArray<(.*)>/i
108
117
  # check to ensure the input is an array given that the attribute
109
118
  # is documented as an array but the input is not
110
119
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -112,7 +121,7 @@ module Freeclimb
112
121
  end
113
122
  elsif !attributes[self.class.attribute_map[key]].nil?
114
123
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
- end # or else data not found in attributes(hash), not an issue as the data can be optional
124
+ end
116
125
  end
117
126
 
118
127
  self
@@ -124,8 +133,8 @@ module Freeclimb
124
133
  # @return [Object] Deserialized data
125
134
  def _deserialize(type, value)
126
135
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
136
+ when :Time
137
+ Time.parse(value)
129
138
  when :Date
130
139
  Date.parse(value)
131
140
  when :String
@@ -155,7 +164,9 @@ module Freeclimb
155
164
  end
156
165
  end
157
166
  else # model
158
- Freeclimb.const_get(type).build_from_hash(value)
167
+ # models (e.g. Pet) or oneOf
168
+ klass = Freeclimb.const_get(type)
169
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
170
  end
160
171
  end
161
172
 
@@ -181,7 +192,7 @@ module Freeclimb
181
192
  is_nullable = self.class.openapi_nullable.include?(attr)
182
193
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
194
  end
184
-
195
+
185
196
  hash[param] = _to_hash(value)
186
197
  end
187
198
  hash
@@ -204,5 +215,7 @@ module Freeclimb
204
215
  value
205
216
  end
206
217
  end
218
+
207
219
  end
220
+
208
221
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueRequest
@@ -28,6 +29,11 @@ module Freeclimb
28
29
  }
29
30
  end
30
31
 
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
31
37
  # Attribute type mapping.
32
38
  def self.openapi_types
33
39
  {
@@ -63,6 +69,8 @@ module Freeclimb
63
69
 
64
70
  if attributes.key?(:'max_size')
65
71
  self.max_size = attributes[:'max_size']
72
+ else
73
+ self.max_size = 100
66
74
  end
67
75
  end
68
76
 
@@ -113,7 +121,9 @@ module Freeclimb
113
121
  def build_from_hash(attributes)
114
122
  return nil unless attributes.is_a?(Hash)
115
123
  self.class.openapi_types.each_pair do |key, type|
116
- if type =~ /\AArray<(.*)>/i
124
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
125
+ self.send("#{key}=", nil)
126
+ elsif type =~ /\AArray<(.*)>/i
117
127
  # check to ensure the input is an array given that the attribute
118
128
  # is documented as an array but the input is not
119
129
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -121,7 +131,7 @@ module Freeclimb
121
131
  end
122
132
  elsif !attributes[self.class.attribute_map[key]].nil?
123
133
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
124
- end # or else data not found in attributes(hash), not an issue as the data can be optional
134
+ end
125
135
  end
126
136
 
127
137
  self
@@ -133,8 +143,8 @@ module Freeclimb
133
143
  # @return [Object] Deserialized data
134
144
  def _deserialize(type, value)
135
145
  case type.to_sym
136
- when :DateTime
137
- DateTime.parse(value)
146
+ when :Time
147
+ Time.parse(value)
138
148
  when :Date
139
149
  Date.parse(value)
140
150
  when :String
@@ -164,7 +174,9 @@ module Freeclimb
164
174
  end
165
175
  end
166
176
  else # model
167
- Freeclimb.const_get(type).build_from_hash(value)
177
+ # models (e.g. Pet) or oneOf
178
+ klass = Freeclimb.const_get(type)
179
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
168
180
  end
169
181
  end
170
182
 
@@ -190,7 +202,7 @@ module Freeclimb
190
202
  is_nullable = self.class.openapi_nullable.include?(attr)
191
203
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
192
204
  end
193
-
205
+
194
206
  hash[param] = _to_hash(value)
195
207
  end
196
208
  hash
@@ -213,5 +225,7 @@ module Freeclimb
213
225
  value
214
226
  end
215
227
  end
228
+
216
229
  end
230
+
217
231
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueResult
@@ -64,6 +65,11 @@ module Freeclimb
64
65
  }
65
66
  end
66
67
 
68
+ # Returns all the JSON keys this model knows about
69
+ def self.acceptable_attributes
70
+ attribute_map.values
71
+ end
72
+
67
73
  # Attribute type mapping.
68
74
  def self.openapi_types
69
75
  {
@@ -84,6 +90,13 @@ module Freeclimb
84
90
  # List of attributes with nullable: true
85
91
  def self.openapi_nullable
86
92
  Set.new([
93
+ :'account_id',
94
+ :'queue_id',
95
+ :'_alias',
96
+ :'max_size',
97
+ :'current_size',
98
+ :'average_wait_time',
99
+ :'subresource_uris'
87
100
  ])
88
101
  end
89
102
 
@@ -211,7 +224,9 @@ module Freeclimb
211
224
  def build_from_hash(attributes)
212
225
  return nil unless attributes.is_a?(Hash)
213
226
  self.class.openapi_types.each_pair do |key, type|
214
- if type =~ /\AArray<(.*)>/i
227
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
228
+ self.send("#{key}=", nil)
229
+ elsif type =~ /\AArray<(.*)>/i
215
230
  # check to ensure the input is an array given that the attribute
216
231
  # is documented as an array but the input is not
217
232
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -219,7 +234,7 @@ module Freeclimb
219
234
  end
220
235
  elsif !attributes[self.class.attribute_map[key]].nil?
221
236
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
222
- end # or else data not found in attributes(hash), not an issue as the data can be optional
237
+ end
223
238
  end
224
239
 
225
240
  self
@@ -231,8 +246,8 @@ module Freeclimb
231
246
  # @return [Object] Deserialized data
232
247
  def _deserialize(type, value)
233
248
  case type.to_sym
234
- when :DateTime
235
- DateTime.parse(value)
249
+ when :Time
250
+ Time.parse(value)
236
251
  when :Date
237
252
  Date.parse(value)
238
253
  when :String
@@ -262,7 +277,9 @@ module Freeclimb
262
277
  end
263
278
  end
264
279
  else # model
265
- Freeclimb.const_get(type).build_from_hash(value)
280
+ # models (e.g. Pet) or oneOf
281
+ klass = Freeclimb.const_get(type)
282
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
266
283
  end
267
284
  end
268
285
 
@@ -288,7 +305,7 @@ module Freeclimb
288
305
  is_nullable = self.class.openapi_nullable.include?(attr)
289
306
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
290
307
  end
291
-
308
+
292
309
  hash[param] = _to_hash(value)
293
310
  end
294
311
  hash
@@ -311,5 +328,7 @@ module Freeclimb
311
328
  value
312
329
  end
313
330
  end
331
+
314
332
  end
333
+
315
334
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueResultAllOf
@@ -48,6 +49,11 @@ module Freeclimb
48
49
  }
49
50
  end
50
51
 
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
51
57
  # Attribute type mapping.
52
58
  def self.openapi_types
53
59
  {
@@ -64,6 +70,13 @@ module Freeclimb
64
70
  # List of attributes with nullable: true
65
71
  def self.openapi_nullable
66
72
  Set.new([
73
+ :'account_id',
74
+ :'queue_id',
75
+ :'_alias',
76
+ :'max_size',
77
+ :'current_size',
78
+ :'average_wait_time',
79
+ :'subresource_uris'
67
80
  ])
68
81
  end
69
82
 
@@ -163,7 +176,9 @@ module Freeclimb
163
176
  def build_from_hash(attributes)
164
177
  return nil unless attributes.is_a?(Hash)
165
178
  self.class.openapi_types.each_pair do |key, type|
166
- if type =~ /\AArray<(.*)>/i
179
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
180
+ self.send("#{key}=", nil)
181
+ elsif type =~ /\AArray<(.*)>/i
167
182
  # check to ensure the input is an array given that the attribute
168
183
  # is documented as an array but the input is not
169
184
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -171,7 +186,7 @@ module Freeclimb
171
186
  end
172
187
  elsif !attributes[self.class.attribute_map[key]].nil?
173
188
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
174
- end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ end
175
190
  end
176
191
 
177
192
  self
@@ -183,8 +198,8 @@ module Freeclimb
183
198
  # @return [Object] Deserialized data
184
199
  def _deserialize(type, value)
185
200
  case type.to_sym
186
- when :DateTime
187
- DateTime.parse(value)
201
+ when :Time
202
+ Time.parse(value)
188
203
  when :Date
189
204
  Date.parse(value)
190
205
  when :String
@@ -214,7 +229,9 @@ module Freeclimb
214
229
  end
215
230
  end
216
231
  else # model
217
- Freeclimb.const_get(type).build_from_hash(value)
232
+ # models (e.g. Pet) or oneOf
233
+ klass = Freeclimb.const_get(type)
234
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
218
235
  end
219
236
  end
220
237
 
@@ -240,7 +257,7 @@ module Freeclimb
240
257
  is_nullable = self.class.openapi_nullable.include?(attr)
241
258
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
242
259
  end
243
-
260
+
244
261
  hash[param] = _to_hash(value)
245
262
  end
246
263
  hash
@@ -263,5 +280,7 @@ module Freeclimb
263
280
  value
264
281
  end
265
282
  end
283
+
266
284
  end
285
+
267
286
  end