phone_com_client 1.0.1

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 (542) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +69 -0
  4. data/LICENSE +21 -0
  5. data/README.md +344 -0
  6. data/Rakefile +8 -0
  7. data/docs/AccountFull.md +14 -0
  8. data/docs/AccountSummary.md +9 -0
  9. data/docs/AccountsApi.md +127 -0
  10. data/docs/Address.md +13 -0
  11. data/docs/AddressListContacts.md +13 -0
  12. data/docs/ApplicationFull.md +9 -0
  13. data/docs/ApplicationSummary.md +9 -0
  14. data/docs/ApplicationsApi.md +137 -0
  15. data/docs/AvailableNumbersApi.md +94 -0
  16. data/docs/AvailableNumbersFull.md +18 -0
  17. data/docs/CallDetails.md +12 -0
  18. data/docs/CallFull.md +8 -0
  19. data/docs/CallLogFull.md +27 -0
  20. data/docs/CallLogsApi.md +149 -0
  21. data/docs/CallNotifications.md +9 -0
  22. data/docs/CallbackObject.md +13 -0
  23. data/docs/CallerIdFull.md +10 -0
  24. data/docs/CallerIdPhoneNumber.md +9 -0
  25. data/docs/CallerIdsApi.md +82 -0
  26. data/docs/CallsApi.md +67 -0
  27. data/docs/ContactAccount.md +14 -0
  28. data/docs/ContactFull.md +26 -0
  29. data/docs/ContactResponse.md +14 -0
  30. data/docs/ContactSummary.md +15 -0
  31. data/docs/ContactsApi.md +333 -0
  32. data/docs/CreateCallParams.md +15 -0
  33. data/docs/CreateContactParams.md +23 -0
  34. data/docs/CreateDeviceParams.md +9 -0
  35. data/docs/CreateExtensionParams.md +20 -0
  36. data/docs/CreateGroupParams.md +8 -0
  37. data/docs/CreateListenerParams.md +10 -0
  38. data/docs/CreateMediaParams.md +17 -0
  39. data/docs/CreateMenuParams.md +14 -0
  40. data/docs/CreateOauthParams.md +16 -0
  41. data/docs/CreatePaymentParams.md +11 -0
  42. data/docs/CreatePhoneNumberParams.md +15 -0
  43. data/docs/CreatePricingParams.md +10 -0
  44. data/docs/CreateQueueParams.md +14 -0
  45. data/docs/CreateRedirectUriParams.md +8 -0
  46. data/docs/CreateRouteParams.md +10 -0
  47. data/docs/CreateSmsParams.md +11 -0
  48. data/docs/CreateSubaccountParams.md +11 -0
  49. data/docs/CreateTrunkParams.md +14 -0
  50. data/docs/DefaultApi.md +57 -0
  51. data/docs/DeleteEntry.md +8 -0
  52. data/docs/DeviceFull.md +11 -0
  53. data/docs/DeviceMembership.md +9 -0
  54. data/docs/DeviceSummary.md +9 -0
  55. data/docs/DevicesApi.md +316 -0
  56. data/docs/Email.md +9 -0
  57. data/docs/ExpressServiceCodeFull.md +10 -0
  58. data/docs/ExpressServiceCodesApi.md +125 -0
  59. data/docs/ExtensionFull.md +24 -0
  60. data/docs/ExtensionSummary.md +10 -0
  61. data/docs/ExtensionsApi.md +262 -0
  62. data/docs/FilterCallLogs.md +13 -0
  63. data/docs/FilterIdArray.md +8 -0
  64. data/docs/FilterIdDirectionFrom.md +10 -0
  65. data/docs/FilterIdExtensionNameArray.md +10 -0
  66. data/docs/FilterIdGroupIdUpdatedAtArray.md +10 -0
  67. data/docs/FilterIdNameArray.md +9 -0
  68. data/docs/FilterIdNamePhoneNumberArray.md +10 -0
  69. data/docs/FilterListAvailableNumbers.md +17 -0
  70. data/docs/FilterListPhoneNumbersRegions.md +14 -0
  71. data/docs/FilterNameNumberArray.md +9 -0
  72. data/docs/FilterVoicemailArray.md +13 -0
  73. data/docs/FromObject.md +11 -0
  74. data/docs/GetOauthAccessToken.md +10 -0
  75. data/docs/Greeting.md +11 -0
  76. data/docs/GreetingInput.md +11 -0
  77. data/docs/GroupFull.md +9 -0
  78. data/docs/GroupListContacts.md +9 -0
  79. data/docs/GroupSummary.md +9 -0
  80. data/docs/GroupsApi.md +329 -0
  81. data/docs/HoldMusic.md +9 -0
  82. data/docs/Line.md +9 -0
  83. data/docs/ListAccounts.md +13 -0
  84. data/docs/ListApplications.md +13 -0
  85. data/docs/ListAvailableNumbers.md +13 -0
  86. data/docs/ListCallLogs.md +13 -0
  87. data/docs/ListCallerIds.md +13 -0
  88. data/docs/ListContacts.md +13 -0
  89. data/docs/ListDevices.md +13 -0
  90. data/docs/ListExpressServiceCodes.md +13 -0
  91. data/docs/ListExtensions.md +13 -0
  92. data/docs/ListGroups.md +13 -0
  93. data/docs/ListListeners.md +13 -0
  94. data/docs/ListMedia.md +13 -0
  95. data/docs/ListMenus.md +13 -0
  96. data/docs/ListOauthClients.md +13 -0
  97. data/docs/ListOauthClientsRedirectUris.md +12 -0
  98. data/docs/ListPaymentMethods.md +13 -0
  99. data/docs/ListPhoneNumbers.md +13 -0
  100. data/docs/ListPhoneNumbersRegions.md +14 -0
  101. data/docs/ListPricings.md +13 -0
  102. data/docs/ListQueues.md +13 -0
  103. data/docs/ListRoutes.md +13 -0
  104. data/docs/ListSchedules.md +13 -0
  105. data/docs/ListSms.md +13 -0
  106. data/docs/ListTrunks.md +13 -0
  107. data/docs/ListVoicemail.md +13 -0
  108. data/docs/ListenerFull.md +14 -0
  109. data/docs/ListenersApi.md +312 -0
  110. data/docs/MediaApi.md +441 -0
  111. data/docs/MediaFull.md +10 -0
  112. data/docs/MediaSummary.md +9 -0
  113. data/docs/Member.md +9 -0
  114. data/docs/MenuFull.md +15 -0
  115. data/docs/MenuSummary.md +9 -0
  116. data/docs/MenusApi.md +316 -0
  117. data/docs/Notification.md +9 -0
  118. data/docs/NumberRegionsApi.md +98 -0
  119. data/docs/OauthAccessToken.md +12 -0
  120. data/docs/OauthApi.md +176 -0
  121. data/docs/OauthClientFull.md +9 -0
  122. data/docs/OauthClientRedirectUriFull.md +10 -0
  123. data/docs/OauthClientsApi.md +191 -0
  124. data/docs/OauthClientsRedirectUrisApi.md +262 -0
  125. data/docs/Option.md +9 -0
  126. data/docs/PatchPaymentParams.md +8 -0
  127. data/docs/PatchSmsParams.md +8 -0
  128. data/docs/PatchVoicemailParams.md +8 -0
  129. data/docs/PaymentFull.md +20 -0
  130. data/docs/PaymentMethodsApi.md +311 -0
  131. data/docs/PaymentSummary.md +13 -0
  132. data/docs/PhoneNumberContact.md +10 -0
  133. data/docs/PhoneNumberFull.md +16 -0
  134. data/docs/PhoneNumbersApi.md +262 -0
  135. data/docs/PhoneNumbersRegionFull.md +15 -0
  136. data/docs/PingResponse.md +11 -0
  137. data/docs/PricingFull.md +13 -0
  138. data/docs/PricingObject.md +9 -0
  139. data/docs/QueueFull.md +15 -0
  140. data/docs/QueueSummary.md +9 -0
  141. data/docs/QueuesApi.md +316 -0
  142. data/docs/Recipient.md +9 -0
  143. data/docs/RedirectUriFull.md +10 -0
  144. data/docs/ReplaceExtensionParams.md +21 -0
  145. data/docs/ReplaceMenuParams.md +14 -0
  146. data/docs/ReplacePhoneNumberParams.md +13 -0
  147. data/docs/RouteFull.md +11 -0
  148. data/docs/RouteSummary.md +9 -0
  149. data/docs/RoutesApi.md +316 -0
  150. data/docs/RuleSet.md +9 -0
  151. data/docs/RuleSetAction.md +17 -0
  152. data/docs/RuleSetFilter.md +11 -0
  153. data/docs/RuleSetForwardItem.md +14 -0
  154. data/docs/ScheduleFull.md +9 -0
  155. data/docs/ScheduleSummary.md +9 -0
  156. data/docs/SchedulesApi.md +137 -0
  157. data/docs/ScopeDetails.md +8 -0
  158. data/docs/SipAuthentication.md +11 -0
  159. data/docs/SmsApi.md +265 -0
  160. data/docs/SmsForwarding.md +10 -0
  161. data/docs/SmsForwardingParams.md +10 -0
  162. data/docs/SmsFull.md +15 -0
  163. data/docs/SortCallLogs.md +10 -0
  164. data/docs/SortId.md +8 -0
  165. data/docs/SortIdCreatedAt.md +9 -0
  166. data/docs/SortIdExtensionName.md +10 -0
  167. data/docs/SortIdName.md +9 -0
  168. data/docs/SortIdNamePhoneNumber.md +10 -0
  169. data/docs/SortIdUpdatedAt.md +9 -0
  170. data/docs/SortListAvailableNumbers.md +10 -0
  171. data/docs/SortListPhoneNumbersRegions.md +14 -0
  172. data/docs/SortNameNumber.md +9 -0
  173. data/docs/SubaccountPricingApi.md +261 -0
  174. data/docs/SubaccountsApi.md +133 -0
  175. data/docs/TrunkFull.md +15 -0
  176. data/docs/TrunkSummary.md +9 -0
  177. data/docs/TrunksApi.md +314 -0
  178. data/docs/Voicemail.md +13 -0
  179. data/docs/VoicemailApi.md +207 -0
  180. data/docs/VoicemailFull.md +16 -0
  181. data/docs/VoicemailInput.md +13 -0
  182. data/git_push.sh +55 -0
  183. data/lib/phone_com_client/api/accounts_api.rb +144 -0
  184. data/lib/phone_com_client/api/applications_api.rb +166 -0
  185. data/lib/phone_com_client/api/available_numbers_api.rb +131 -0
  186. data/lib/phone_com_client/api/call_logs_api.rb +204 -0
  187. data/lib/phone_com_client/api/caller_ids_api.rb +112 -0
  188. data/lib/phone_com_client/api/calls_api.rb +79 -0
  189. data/lib/phone_com_client/api/contacts_api.rb +377 -0
  190. data/lib/phone_com_client/api/default_api.rb +71 -0
  191. data/lib/phone_com_client/api/devices_api.rb +344 -0
  192. data/lib/phone_com_client/api/express_service_codes_api.rb +140 -0
  193. data/lib/phone_com_client/api/extensions_api.rb +294 -0
  194. data/lib/phone_com_client/api/groups_api.rb +382 -0
  195. data/lib/phone_com_client/api/listeners_api.rb +334 -0
  196. data/lib/phone_com_client/api/media_api.rb +470 -0
  197. data/lib/phone_com_client/api/menus_api.rb +344 -0
  198. data/lib/phone_com_client/api/number_regions_api.rb +149 -0
  199. data/lib/phone_com_client/api/oauth_api.rb +196 -0
  200. data/lib/phone_com_client/api/oauth_clients_api.rb +216 -0
  201. data/lib/phone_com_client/api/oauth_clients_redirect_uris_api.rb +296 -0
  202. data/lib/phone_com_client/api/payment_methods_api.rb +338 -0
  203. data/lib/phone_com_client/api/phone_numbers_api.rb +294 -0
  204. data/lib/phone_com_client/api/queues_api.rb +344 -0
  205. data/lib/phone_com_client/api/routes_api.rb +344 -0
  206. data/lib/phone_com_client/api/schedules_api.rb +166 -0
  207. data/lib/phone_com_client/api/sms_api.rb +316 -0
  208. data/lib/phone_com_client/api/subaccount_pricing_api.rb +300 -0
  209. data/lib/phone_com_client/api/subaccounts_api.rb +156 -0
  210. data/lib/phone_com_client/api/trunks_api.rb +352 -0
  211. data/lib/phone_com_client/api/voicemail_api.rb +252 -0
  212. data/lib/phone_com_client/api_client.rb +389 -0
  213. data/lib/phone_com_client/api_error.rb +38 -0
  214. data/lib/phone_com_client/configuration.rb +209 -0
  215. data/lib/phone_com_client/models/account_full.rb +245 -0
  216. data/lib/phone_com_client/models/account_summary.rb +195 -0
  217. data/lib/phone_com_client/models/address.rb +250 -0
  218. data/lib/phone_com_client/models/address_list_contacts.rb +234 -0
  219. data/lib/phone_com_client/models/application_full.rb +195 -0
  220. data/lib/phone_com_client/models/application_summary.rb +195 -0
  221. data/lib/phone_com_client/models/available_numbers_full.rb +285 -0
  222. data/lib/phone_com_client/models/call_details.rb +225 -0
  223. data/lib/phone_com_client/models/call_full.rb +185 -0
  224. data/lib/phone_com_client/models/call_log_full.rb +377 -0
  225. data/lib/phone_com_client/models/call_notifications.rb +197 -0
  226. data/lib/phone_com_client/models/callback_object.rb +234 -0
  227. data/lib/phone_com_client/models/caller_id_full.rb +205 -0
  228. data/lib/phone_com_client/models/caller_id_phone_number.rb +210 -0
  229. data/lib/phone_com_client/models/contact_account.rb +243 -0
  230. data/lib/phone_com_client/models/contact_full.rb +370 -0
  231. data/lib/phone_com_client/models/contact_response.rb +243 -0
  232. data/lib/phone_com_client/models/contact_summary.rb +255 -0
  233. data/lib/phone_com_client/models/create_call_params.rb +254 -0
  234. data/lib/phone_com_client/models/create_contact_params.rb +340 -0
  235. data/lib/phone_com_client/models/create_device_params.rb +196 -0
  236. data/lib/phone_com_client/models/create_extension_params.rb +302 -0
  237. data/lib/phone_com_client/models/create_group_params.rb +184 -0
  238. data/lib/phone_com_client/models/create_listener_params.rb +206 -0
  239. data/lib/phone_com_client/models/create_media_params.rb +274 -0
  240. data/lib/phone_com_client/models/create_menu_params.rb +239 -0
  241. data/lib/phone_com_client/models/create_oauth_params.rb +264 -0
  242. data/lib/phone_com_client/models/create_payment_params.rb +214 -0
  243. data/lib/phone_com_client/models/create_phone_number_params.rb +251 -0
  244. data/lib/phone_com_client/models/create_pricing_params.rb +204 -0
  245. data/lib/phone_com_client/models/create_queue_params.rb +246 -0
  246. data/lib/phone_com_client/models/create_redirect_uri_params.rb +184 -0
  247. data/lib/phone_com_client/models/create_route_params.rb +206 -0
  248. data/lib/phone_com_client/models/create_sms_params.rb +229 -0
  249. data/lib/phone_com_client/models/create_subaccount_params.rb +224 -0
  250. data/lib/phone_com_client/models/create_trunk_params.rb +246 -0
  251. data/lib/phone_com_client/models/delete_entry.rb +183 -0
  252. data/lib/phone_com_client/models/device_full.rb +216 -0
  253. data/lib/phone_com_client/models/device_membership.rb +195 -0
  254. data/lib/phone_com_client/models/device_summary.rb +195 -0
  255. data/lib/phone_com_client/models/email.rb +194 -0
  256. data/lib/phone_com_client/models/express_service_code_full.rb +207 -0
  257. data/lib/phone_com_client/models/extension_full.rb +342 -0
  258. data/lib/phone_com_client/models/extension_summary.rb +205 -0
  259. data/lib/phone_com_client/models/filter_call_logs.rb +228 -0
  260. data/lib/phone_com_client/models/filter_id_array.rb +183 -0
  261. data/lib/phone_com_client/models/filter_id_direction_from.rb +201 -0
  262. data/lib/phone_com_client/models/filter_id_extension_name_array.rb +201 -0
  263. data/lib/phone_com_client/models/filter_id_group_id_updated_at_array.rb +201 -0
  264. data/lib/phone_com_client/models/filter_id_name_array.rb +192 -0
  265. data/lib/phone_com_client/models/filter_id_name_phone_number_array.rb +201 -0
  266. data/lib/phone_com_client/models/filter_list_available_numbers.rb +264 -0
  267. data/lib/phone_com_client/models/filter_list_phone_numbers_regions.rb +237 -0
  268. data/lib/phone_com_client/models/filter_name_number_array.rb +192 -0
  269. data/lib/phone_com_client/models/filter_voicemail_array.rb +228 -0
  270. data/lib/phone_com_client/models/from_object.rb +215 -0
  271. data/lib/phone_com_client/models/get_oauth_access_token.rb +203 -0
  272. data/lib/phone_com_client/models/greeting.rb +215 -0
  273. data/lib/phone_com_client/models/greeting_input.rb +215 -0
  274. data/lib/phone_com_client/models/group_full.rb +195 -0
  275. data/lib/phone_com_client/models/group_list_contacts.rb +195 -0
  276. data/lib/phone_com_client/models/group_summary.rb +195 -0
  277. data/lib/phone_com_client/models/hold_music.rb +195 -0
  278. data/lib/phone_com_client/models/line.rb +194 -0
  279. data/lib/phone_com_client/models/list_accounts.rb +230 -0
  280. data/lib/phone_com_client/models/list_applications.rb +230 -0
  281. data/lib/phone_com_client/models/list_available_numbers.rb +230 -0
  282. data/lib/phone_com_client/models/list_call_logs.rb +230 -0
  283. data/lib/phone_com_client/models/list_caller_ids.rb +230 -0
  284. data/lib/phone_com_client/models/list_contacts.rb +230 -0
  285. data/lib/phone_com_client/models/list_devices.rb +230 -0
  286. data/lib/phone_com_client/models/list_express_service_codes.rb +232 -0
  287. data/lib/phone_com_client/models/list_extensions.rb +230 -0
  288. data/lib/phone_com_client/models/list_groups.rb +230 -0
  289. data/lib/phone_com_client/models/list_listeners.rb +230 -0
  290. data/lib/phone_com_client/models/list_media.rb +230 -0
  291. data/lib/phone_com_client/models/list_menus.rb +230 -0
  292. data/lib/phone_com_client/models/list_oauth_clients.rb +230 -0
  293. data/lib/phone_com_client/models/list_oauth_clients_redirect_uris.rb +221 -0
  294. data/lib/phone_com_client/models/list_payment_methods.rb +230 -0
  295. data/lib/phone_com_client/models/list_phone_numbers.rb +231 -0
  296. data/lib/phone_com_client/models/list_phone_numbers_regions.rb +241 -0
  297. data/lib/phone_com_client/models/list_pricings.rb +230 -0
  298. data/lib/phone_com_client/models/list_queues.rb +230 -0
  299. data/lib/phone_com_client/models/list_routes.rb +230 -0
  300. data/lib/phone_com_client/models/list_schedules.rb +230 -0
  301. data/lib/phone_com_client/models/list_sms.rb +230 -0
  302. data/lib/phone_com_client/models/list_trunks.rb +230 -0
  303. data/lib/phone_com_client/models/list_voicemail.rb +230 -0
  304. data/lib/phone_com_client/models/listener_full.rb +244 -0
  305. data/lib/phone_com_client/models/media_full.rb +220 -0
  306. data/lib/phone_com_client/models/media_summary.rb +195 -0
  307. data/lib/phone_com_client/models/member.rb +194 -0
  308. data/lib/phone_com_client/models/menu_full.rb +257 -0
  309. data/lib/phone_com_client/models/menu_summary.rb +195 -0
  310. data/lib/phone_com_client/models/notification.rb +197 -0
  311. data/lib/phone_com_client/models/oauth_access_token.rb +219 -0
  312. data/lib/phone_com_client/models/oauth_client_full.rb +195 -0
  313. data/lib/phone_com_client/models/oauth_client_redirect_uri_full.rb +205 -0
  314. data/lib/phone_com_client/models/option.rb +194 -0
  315. data/lib/phone_com_client/models/patch_payment_params.rb +184 -0
  316. data/lib/phone_com_client/models/patch_sms_params.rb +184 -0
  317. data/lib/phone_com_client/models/patch_voicemail_params.rb +184 -0
  318. data/lib/phone_com_client/models/payment_full.rb +305 -0
  319. data/lib/phone_com_client/models/payment_summary.rb +235 -0
  320. data/lib/phone_com_client/models/phone_number_contact.rb +204 -0
  321. data/lib/phone_com_client/models/phone_number_full.rb +262 -0
  322. data/lib/phone_com_client/models/phone_numbers_region_full.rb +255 -0
  323. data/lib/phone_com_client/models/ping_response.rb +211 -0
  324. data/lib/phone_com_client/models/pricing_full.rb +235 -0
  325. data/lib/phone_com_client/models/pricing_object.rb +194 -0
  326. data/lib/phone_com_client/models/queue_full.rb +266 -0
  327. data/lib/phone_com_client/models/queue_summary.rb +205 -0
  328. data/lib/phone_com_client/models/recipient.rb +194 -0
  329. data/lib/phone_com_client/models/redirect_uri_full.rb +204 -0
  330. data/lib/phone_com_client/models/replace_extension_params.rb +312 -0
  331. data/lib/phone_com_client/models/replace_menu_params.rb +239 -0
  332. data/lib/phone_com_client/models/replace_phone_number_params.rb +251 -0
  333. data/lib/phone_com_client/models/route_full.rb +217 -0
  334. data/lib/phone_com_client/models/route_summary.rb +195 -0
  335. data/lib/phone_com_client/models/rule_set.rb +195 -0
  336. data/lib/phone_com_client/models/rule_set_action.rb +292 -0
  337. data/lib/phone_com_client/models/rule_set_filter.rb +230 -0
  338. data/lib/phone_com_client/models/rule_set_forward_item.rb +294 -0
  339. data/lib/phone_com_client/models/schedule_full.rb +195 -0
  340. data/lib/phone_com_client/models/schedule_summary.rb +195 -0
  341. data/lib/phone_com_client/models/scope_details.rb +183 -0
  342. data/lib/phone_com_client/models/sip_authentication.rb +215 -0
  343. data/lib/phone_com_client/models/sms_forwarding.rb +220 -0
  344. data/lib/phone_com_client/models/sms_forwarding_params.rb +220 -0
  345. data/lib/phone_com_client/models/sms_full.rb +257 -0
  346. data/lib/phone_com_client/models/sort_call_logs.rb +201 -0
  347. data/lib/phone_com_client/models/sort_id.rb +183 -0
  348. data/lib/phone_com_client/models/sort_id_created_at.rb +192 -0
  349. data/lib/phone_com_client/models/sort_id_extension_name.rb +201 -0
  350. data/lib/phone_com_client/models/sort_id_name.rb +192 -0
  351. data/lib/phone_com_client/models/sort_id_name_phone_number.rb +201 -0
  352. data/lib/phone_com_client/models/sort_id_updated_at.rb +192 -0
  353. data/lib/phone_com_client/models/sort_list_available_numbers.rb +201 -0
  354. data/lib/phone_com_client/models/sort_list_phone_numbers_regions.rb +237 -0
  355. data/lib/phone_com_client/models/sort_name_number.rb +192 -0
  356. data/lib/phone_com_client/models/trunk_full.rb +297 -0
  357. data/lib/phone_com_client/models/trunk_summary.rb +205 -0
  358. data/lib/phone_com_client/models/voicemail.rb +234 -0
  359. data/lib/phone_com_client/models/voicemail_full.rb +265 -0
  360. data/lib/phone_com_client/models/voicemail_input.rb +234 -0
  361. data/lib/phone_com_client/version.rb +15 -0
  362. data/lib/phone_com_client.rb +214 -0
  363. data/phone_com_client.gemspec +45 -0
  364. data/spec/api/accounts_api_spec.rb +63 -0
  365. data/spec/api/applications_api_spec.rb +67 -0
  366. data/spec/api/available_numbers_api_spec.rb +62 -0
  367. data/spec/api/call_logs_api_spec.rb +73 -0
  368. data/spec/api/caller_ids_api_spec.rb +55 -0
  369. data/spec/api/calls_api_spec.rb +48 -0
  370. data/spec/api/contacts_api_spec.rb +113 -0
  371. data/spec/api/default_api_spec.rb +46 -0
  372. data/spec/api/devices_api_spec.rb +107 -0
  373. data/spec/api/express_service_codes_api_spec.rb +61 -0
  374. data/spec/api/extensions_api_spec.rb +96 -0
  375. data/spec/api/groups_api_spec.rb +112 -0
  376. data/spec/api/listeners_api_spec.rb +105 -0
  377. data/spec/api/media_api_spec.rb +136 -0
  378. data/spec/api/menus_api_spec.rb +107 -0
  379. data/spec/api/number_regions_api_spec.rb +64 -0
  380. data/spec/api/oauth_api_spec.rb +73 -0
  381. data/spec/api/oauth_clients_api_spec.rb +78 -0
  382. data/spec/api/oauth_clients_redirect_uris_api_spec.rb +95 -0
  383. data/spec/api/payment_methods_api_spec.rb +105 -0
  384. data/spec/api/phone_numbers_api_spec.rb +96 -0
  385. data/spec/api/queues_api_spec.rb +107 -0
  386. data/spec/api/routes_api_spec.rb +107 -0
  387. data/spec/api/schedules_api_spec.rb +67 -0
  388. data/spec/api/sms_api_spec.rb +98 -0
  389. data/spec/api/subaccount_pricing_api_spec.rb +95 -0
  390. data/spec/api/subaccounts_api_spec.rb +65 -0
  391. data/spec/api/trunks_api_spec.rb +107 -0
  392. data/spec/api/voicemail_api_spec.rb +85 -0
  393. data/spec/api_client_spec.rb +226 -0
  394. data/spec/configuration_spec.rb +42 -0
  395. data/spec/models/account_full_spec.rb +77 -0
  396. data/spec/models/account_summary_spec.rb +47 -0
  397. data/spec/models/address_list_contacts_spec.rb +71 -0
  398. data/spec/models/address_spec.rb +71 -0
  399. data/spec/models/application_full_spec.rb +47 -0
  400. data/spec/models/application_summary_spec.rb +47 -0
  401. data/spec/models/available_numbers_full_spec.rb +101 -0
  402. data/spec/models/call_details_spec.rb +65 -0
  403. data/spec/models/call_full_spec.rb +41 -0
  404. data/spec/models/call_log_full_spec.rb +155 -0
  405. data/spec/models/call_notifications_spec.rb +47 -0
  406. data/spec/models/callback_object_spec.rb +71 -0
  407. data/spec/models/caller_id_full_spec.rb +53 -0
  408. data/spec/models/caller_id_phone_number_spec.rb +47 -0
  409. data/spec/models/contact_account_spec.rb +77 -0
  410. data/spec/models/contact_full_spec.rb +149 -0
  411. data/spec/models/contact_response_spec.rb +77 -0
  412. data/spec/models/contact_summary_spec.rb +83 -0
  413. data/spec/models/create_call_params_spec.rb +83 -0
  414. data/spec/models/create_contact_params_spec.rb +131 -0
  415. data/spec/models/create_device_params_spec.rb +47 -0
  416. data/spec/models/create_extension_params_spec.rb +113 -0
  417. data/spec/models/create_group_params_spec.rb +41 -0
  418. data/spec/models/create_listener_params_spec.rb +53 -0
  419. data/spec/models/create_media_params_spec.rb +95 -0
  420. data/spec/models/create_menu_params_spec.rb +77 -0
  421. data/spec/models/create_oauth_params_spec.rb +89 -0
  422. data/spec/models/create_payment_params_spec.rb +59 -0
  423. data/spec/models/create_phone_number_params_spec.rb +83 -0
  424. data/spec/models/create_pricing_params_spec.rb +53 -0
  425. data/spec/models/create_queue_params_spec.rb +77 -0
  426. data/spec/models/create_redirect_uri_params_spec.rb +41 -0
  427. data/spec/models/create_route_params_spec.rb +53 -0
  428. data/spec/models/create_sms_params_spec.rb +59 -0
  429. data/spec/models/create_subaccount_params_spec.rb +59 -0
  430. data/spec/models/create_trunk_params_spec.rb +77 -0
  431. data/spec/models/delete_entry_spec.rb +41 -0
  432. data/spec/models/device_full_spec.rb +59 -0
  433. data/spec/models/device_membership_spec.rb +47 -0
  434. data/spec/models/device_summary_spec.rb +47 -0
  435. data/spec/models/email_spec.rb +47 -0
  436. data/spec/models/express_service_code_full_spec.rb +53 -0
  437. data/spec/models/extension_full_spec.rb +137 -0
  438. data/spec/models/extension_summary_spec.rb +53 -0
  439. data/spec/models/filter_call_logs_spec.rb +71 -0
  440. data/spec/models/filter_id_array_spec.rb +41 -0
  441. data/spec/models/filter_id_direction_from_spec.rb +53 -0
  442. data/spec/models/filter_id_extension_name_array_spec.rb +53 -0
  443. data/spec/models/filter_id_group_id_updated_at_array_spec.rb +53 -0
  444. data/spec/models/filter_id_name_array_spec.rb +47 -0
  445. data/spec/models/filter_id_name_phone_number_array_spec.rb +53 -0
  446. data/spec/models/filter_list_available_numbers_spec.rb +95 -0
  447. data/spec/models/filter_list_phone_numbers_regions_spec.rb +77 -0
  448. data/spec/models/filter_name_number_array_spec.rb +47 -0
  449. data/spec/models/filter_voicemail_array_spec.rb +71 -0
  450. data/spec/models/from_object_spec.rb +59 -0
  451. data/spec/models/get_oauth_access_token_spec.rb +53 -0
  452. data/spec/models/greeting_input_spec.rb +59 -0
  453. data/spec/models/greeting_spec.rb +59 -0
  454. data/spec/models/group_full_spec.rb +47 -0
  455. data/spec/models/group_list_contacts_spec.rb +47 -0
  456. data/spec/models/group_summary_spec.rb +47 -0
  457. data/spec/models/hold_music_spec.rb +47 -0
  458. data/spec/models/line_spec.rb +47 -0
  459. data/spec/models/list_accounts_spec.rb +71 -0
  460. data/spec/models/list_applications_spec.rb +71 -0
  461. data/spec/models/list_available_numbers_spec.rb +71 -0
  462. data/spec/models/list_call_logs_spec.rb +71 -0
  463. data/spec/models/list_caller_ids_spec.rb +71 -0
  464. data/spec/models/list_contacts_spec.rb +71 -0
  465. data/spec/models/list_devices_spec.rb +71 -0
  466. data/spec/models/list_express_service_codes_spec.rb +71 -0
  467. data/spec/models/list_extensions_spec.rb +71 -0
  468. data/spec/models/list_groups_spec.rb +71 -0
  469. data/spec/models/list_listeners_spec.rb +71 -0
  470. data/spec/models/list_media_spec.rb +71 -0
  471. data/spec/models/list_menus_spec.rb +71 -0
  472. data/spec/models/list_oauth_clients_redirect_uris_spec.rb +65 -0
  473. data/spec/models/list_oauth_clients_spec.rb +71 -0
  474. data/spec/models/list_payment_methods_spec.rb +71 -0
  475. data/spec/models/list_phone_numbers_regions_spec.rb +77 -0
  476. data/spec/models/list_phone_numbers_spec.rb +71 -0
  477. data/spec/models/list_pricings_spec.rb +71 -0
  478. data/spec/models/list_queues_spec.rb +71 -0
  479. data/spec/models/list_routes_spec.rb +71 -0
  480. data/spec/models/list_schedules_spec.rb +71 -0
  481. data/spec/models/list_sms_spec.rb +71 -0
  482. data/spec/models/list_trunks_spec.rb +71 -0
  483. data/spec/models/list_voicemail_spec.rb +71 -0
  484. data/spec/models/listener_full_spec.rb +77 -0
  485. data/spec/models/media_full_spec.rb +53 -0
  486. data/spec/models/media_summary_spec.rb +47 -0
  487. data/spec/models/member_spec.rb +47 -0
  488. data/spec/models/menu_full_spec.rb +83 -0
  489. data/spec/models/menu_summary_spec.rb +47 -0
  490. data/spec/models/notification_spec.rb +47 -0
  491. data/spec/models/oauth_access_token_spec.rb +65 -0
  492. data/spec/models/oauth_client_full_spec.rb +47 -0
  493. data/spec/models/oauth_client_redirect_uri_full_spec.rb +53 -0
  494. data/spec/models/option_spec.rb +47 -0
  495. data/spec/models/patch_payment_params_spec.rb +41 -0
  496. data/spec/models/patch_sms_params_spec.rb +41 -0
  497. data/spec/models/patch_voicemail_params_spec.rb +41 -0
  498. data/spec/models/payment_full_spec.rb +113 -0
  499. data/spec/models/payment_summary_spec.rb +71 -0
  500. data/spec/models/phone_number_contact_spec.rb +53 -0
  501. data/spec/models/phone_number_full_spec.rb +89 -0
  502. data/spec/models/phone_numbers_region_full_spec.rb +83 -0
  503. data/spec/models/ping_response_spec.rb +59 -0
  504. data/spec/models/pricing_full_spec.rb +71 -0
  505. data/spec/models/pricing_object_spec.rb +47 -0
  506. data/spec/models/queue_full_spec.rb +83 -0
  507. data/spec/models/queue_summary_spec.rb +47 -0
  508. data/spec/models/recipient_spec.rb +47 -0
  509. data/spec/models/redirect_uri_full_spec.rb +53 -0
  510. data/spec/models/replace_extension_params_spec.rb +119 -0
  511. data/spec/models/replace_menu_params_spec.rb +77 -0
  512. data/spec/models/replace_phone_number_params_spec.rb +83 -0
  513. data/spec/models/route_full_spec.rb +59 -0
  514. data/spec/models/route_summary_spec.rb +47 -0
  515. data/spec/models/rule_set_action_spec.rb +95 -0
  516. data/spec/models/rule_set_filter_spec.rb +59 -0
  517. data/spec/models/rule_set_forward_item_spec.rb +77 -0
  518. data/spec/models/rule_set_spec.rb +47 -0
  519. data/spec/models/schedule_full_spec.rb +47 -0
  520. data/spec/models/schedule_summary_spec.rb +47 -0
  521. data/spec/models/scope_details_spec.rb +41 -0
  522. data/spec/models/sip_authentication_spec.rb +59 -0
  523. data/spec/models/sms_forwarding_params_spec.rb +53 -0
  524. data/spec/models/sms_forwarding_spec.rb +53 -0
  525. data/spec/models/sms_full_spec.rb +83 -0
  526. data/spec/models/sort_call_logs_spec.rb +53 -0
  527. data/spec/models/sort_id_created_at_spec.rb +47 -0
  528. data/spec/models/sort_id_extension_name_spec.rb +53 -0
  529. data/spec/models/sort_id_name_phone_number_spec.rb +53 -0
  530. data/spec/models/sort_id_name_spec.rb +47 -0
  531. data/spec/models/sort_id_spec.rb +41 -0
  532. data/spec/models/sort_id_updated_at_spec.rb +47 -0
  533. data/spec/models/sort_list_available_numbers_spec.rb +53 -0
  534. data/spec/models/sort_list_phone_numbers_regions_spec.rb +77 -0
  535. data/spec/models/sort_name_number_spec.rb +47 -0
  536. data/spec/models/trunk_full_spec.rb +83 -0
  537. data/spec/models/trunk_summary_spec.rb +47 -0
  538. data/spec/models/voicemail_full_spec.rb +89 -0
  539. data/spec/models/voicemail_input_spec.rb +71 -0
  540. data/spec/models/voicemail_spec.rb +71 -0
  541. data/spec/spec_helper.rb +111 -0
  542. metadata +942 -0
@@ -0,0 +1,210 @@
1
+ =begin
2
+ #Phone.com API
3
+
4
+ #This is a Phone.com api PhoneCom definition
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: apisupport@phone.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ PhoneCom Codegen version: 2.4.4
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PhoneComClient
16
+ # Here are all of the properties you can expect for Caller ID objects:
17
+ class CallerIdPhoneNumber
18
+ # Name that this number will be associated with. Must be no longer than 15 characters, and can only contain English letters, numbers, spaces, and commas.
19
+ attr_accessor :name
20
+
21
+ # Can be \"business\" or \"personal\"
22
+ attr_accessor :type
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'name' => :'name',
28
+ :'type' => :'type'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'name' => :'String',
36
+ :'type' => :'String'
37
+ }
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
+
48
+ if attributes.has_key?(:'name')
49
+ self.name = attributes[:'name']
50
+ end
51
+
52
+ if attributes.has_key?(:'type')
53
+ self.type = attributes[:'type']
54
+ end
55
+ end
56
+
57
+ # Show invalid properties with the reasons. Usually used together with valid?
58
+ # @return Array for valid properties with the reasons
59
+ def list_invalid_properties
60
+ invalid_properties = Array.new
61
+ if !@type.nil? && @type !~ Regexp.new(/business|personal/)
62
+ invalid_properties.push('invalid value for "type", must conform to the pattern /business|personal/.')
63
+ end
64
+
65
+ invalid_properties
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ def valid?
71
+ return false if !@type.nil? && @type !~ Regexp.new(/business|personal/)
72
+ true
73
+ end
74
+
75
+ # Custom attribute writer method with validation
76
+ # @param [Object] type Value to be assigned
77
+ def type=(type)
78
+ if !type.nil? && type !~ Regexp.new(/business|personal/)
79
+ fail ArgumentError, 'invalid value for "type", must conform to the pattern /business|personal/.'
80
+ end
81
+
82
+ @type = type
83
+ end
84
+
85
+ # Checks equality by comparing each attribute.
86
+ # @param [Object] Object to be compared
87
+ def ==(o)
88
+ return true if self.equal?(o)
89
+ self.class == o.class &&
90
+ name == o.name &&
91
+ type == o.type
92
+ end
93
+
94
+ # @see the `==` method
95
+ # @param [Object] Object to be compared
96
+ def eql?(o)
97
+ self == o
98
+ end
99
+
100
+ # Calculates hash code according to all attributes.
101
+ # @return [Fixnum] Hash code
102
+ def hash
103
+ [name, type].hash
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ self.class.swagger_types.each_pair do |key, type|
112
+ if type =~ /\AArray<(.*)>/i
113
+ # check to ensure the input is an array given that the the attribute
114
+ # is documented as an array but the input is not
115
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
116
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
121
+ end
122
+
123
+ self
124
+ end
125
+
126
+ # Deserializes the data based on type
127
+ # @param string type Data type
128
+ # @param string value Value to be deserialized
129
+ # @return [Object] Deserialized data
130
+ def _deserialize(type, value)
131
+ case type.to_sym
132
+ when :DateTime
133
+ DateTime.parse(value)
134
+ when :Date
135
+ Date.parse(value)
136
+ when :String
137
+ value.to_s
138
+ when :Integer
139
+ value.to_i
140
+ when :Float
141
+ value.to_f
142
+ when :BOOLEAN
143
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
+ true
145
+ else
146
+ false
147
+ end
148
+ when :Object
149
+ # generic object (usually a Hash), return directly
150
+ value
151
+ when /\AArray<(?<inner_type>.+)>\z/
152
+ inner_type = Regexp.last_match[:inner_type]
153
+ value.map { |v| _deserialize(inner_type, v) }
154
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
155
+ k_type = Regexp.last_match[:k_type]
156
+ v_type = Regexp.last_match[:v_type]
157
+ {}.tap do |hash|
158
+ value.each do |k, v|
159
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
160
+ end
161
+ end
162
+ else # model
163
+ temp_model = PhoneComClient.const_get(type).new
164
+ temp_model.build_from_hash(value)
165
+ end
166
+ end
167
+
168
+ # Returns the string representation of the object
169
+ # @return [String] String presentation of the object
170
+ def to_s
171
+ to_hash.to_s
172
+ end
173
+
174
+ # to_body is an alias to to_hash (backward compatibility)
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_body
177
+ to_hash
178
+ end
179
+
180
+ # Returns the object in the form of hash
181
+ # @return [Hash] Returns the object in the form of hash
182
+ def to_hash
183
+ hash = {}
184
+ self.class.attribute_map.each_pair do |attr, param|
185
+ value = self.send(attr)
186
+ next if value.nil?
187
+ hash[param] = _to_hash(value)
188
+ end
189
+ hash
190
+ end
191
+
192
+ # Outputs non-array value in the form of hash
193
+ # For object, use to_hash. Otherwise, just return the value
194
+ # @param [Object] value Any valid value
195
+ # @return [Hash] Returns the value in the form of hash
196
+ def _to_hash(value)
197
+ if value.is_a?(Array)
198
+ value.compact.map { |v| _to_hash(v) }
199
+ elsif value.is_a?(Hash)
200
+ {}.tap do |hash|
201
+ value.each { |k, v| hash[k] = _to_hash(v) }
202
+ end
203
+ elsif value.respond_to? :to_hash
204
+ value.to_hash
205
+ else
206
+ value
207
+ end
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,243 @@
1
+ =begin
2
+ #Phone.com API
3
+
4
+ #This is a Phone.com api PhoneCom definition
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: apisupport@phone.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ PhoneCom Codegen version: 2.4.4
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PhoneComClient
16
+ class ContactAccount
17
+ # Name. Required.
18
+ attr_accessor :name
19
+
20
+ # Company name
21
+ attr_accessor :company
22
+
23
+ attr_accessor :address
24
+
25
+ # Phone number. Required.
26
+ attr_accessor :phone
27
+
28
+ # Fax number
29
+ attr_accessor :fax
30
+
31
+ # Primary email address. Required.
32
+ attr_accessor :primary_email
33
+
34
+ # Alternate email address
35
+ attr_accessor :alternate_email
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'company' => :'company',
42
+ :'address' => :'address',
43
+ :'phone' => :'phone',
44
+ :'fax' => :'fax',
45
+ :'primary_email' => :'primary_email',
46
+ :'alternate_email' => :'alternate_email'
47
+ }
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.swagger_types
52
+ {
53
+ :'name' => :'String',
54
+ :'company' => :'String',
55
+ :'address' => :'Address',
56
+ :'phone' => :'String',
57
+ :'fax' => :'String',
58
+ :'primary_email' => :'String',
59
+ :'alternate_email' => :'String'
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ def initialize(attributes = {})
66
+ return unless attributes.is_a?(Hash)
67
+
68
+ # convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
70
+
71
+ if attributes.has_key?(:'name')
72
+ self.name = attributes[:'name']
73
+ end
74
+
75
+ if attributes.has_key?(:'company')
76
+ self.company = attributes[:'company']
77
+ end
78
+
79
+ if attributes.has_key?(:'address')
80
+ self.address = attributes[:'address']
81
+ end
82
+
83
+ if attributes.has_key?(:'phone')
84
+ self.phone = attributes[:'phone']
85
+ end
86
+
87
+ if attributes.has_key?(:'fax')
88
+ self.fax = attributes[:'fax']
89
+ end
90
+
91
+ if attributes.has_key?(:'primary_email')
92
+ self.primary_email = attributes[:'primary_email']
93
+ end
94
+
95
+ if attributes.has_key?(:'alternate_email')
96
+ self.alternate_email = attributes[:'alternate_email']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ true
111
+ end
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] Object to be compared
115
+ def ==(o)
116
+ return true if self.equal?(o)
117
+ self.class == o.class &&
118
+ name == o.name &&
119
+ company == o.company &&
120
+ address == o.address &&
121
+ phone == o.phone &&
122
+ fax == o.fax &&
123
+ primary_email == o.primary_email &&
124
+ alternate_email == o.alternate_email
125
+ end
126
+
127
+ # @see the `==` method
128
+ # @param [Object] Object to be compared
129
+ def eql?(o)
130
+ self == o
131
+ end
132
+
133
+ # Calculates hash code according to all attributes.
134
+ # @return [Fixnum] Hash code
135
+ def hash
136
+ [name, company, address, phone, fax, primary_email, alternate_email].hash
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def build_from_hash(attributes)
143
+ return nil unless attributes.is_a?(Hash)
144
+ self.class.swagger_types.each_pair do |key, type|
145
+ if type =~ /\AArray<(.*)>/i
146
+ # check to ensure the input is an array given that the the attribute
147
+ # is documented as an array but the input is not
148
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
149
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
150
+ end
151
+ elsif !attributes[self.class.attribute_map[key]].nil?
152
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
153
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
154
+ end
155
+
156
+ self
157
+ end
158
+
159
+ # Deserializes the data based on type
160
+ # @param string type Data type
161
+ # @param string value Value to be deserialized
162
+ # @return [Object] Deserialized data
163
+ def _deserialize(type, value)
164
+ case type.to_sym
165
+ when :DateTime
166
+ DateTime.parse(value)
167
+ when :Date
168
+ Date.parse(value)
169
+ when :String
170
+ value.to_s
171
+ when :Integer
172
+ value.to_i
173
+ when :Float
174
+ value.to_f
175
+ when :BOOLEAN
176
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ true
178
+ else
179
+ false
180
+ end
181
+ when :Object
182
+ # generic object (usually a Hash), return directly
183
+ value
184
+ when /\AArray<(?<inner_type>.+)>\z/
185
+ inner_type = Regexp.last_match[:inner_type]
186
+ value.map { |v| _deserialize(inner_type, v) }
187
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
188
+ k_type = Regexp.last_match[:k_type]
189
+ v_type = Regexp.last_match[:v_type]
190
+ {}.tap do |hash|
191
+ value.each do |k, v|
192
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
193
+ end
194
+ end
195
+ else # model
196
+ temp_model = PhoneComClient.const_get(type).new
197
+ temp_model.build_from_hash(value)
198
+ end
199
+ end
200
+
201
+ # Returns the string representation of the object
202
+ # @return [String] String presentation of the object
203
+ def to_s
204
+ to_hash.to_s
205
+ end
206
+
207
+ # to_body is an alias to to_hash (backward compatibility)
208
+ # @return [Hash] Returns the object in the form of hash
209
+ def to_body
210
+ to_hash
211
+ end
212
+
213
+ # Returns the object in the form of hash
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_hash
216
+ hash = {}
217
+ self.class.attribute_map.each_pair do |attr, param|
218
+ value = self.send(attr)
219
+ next if value.nil?
220
+ hash[param] = _to_hash(value)
221
+ end
222
+ hash
223
+ end
224
+
225
+ # Outputs non-array value in the form of hash
226
+ # For object, use to_hash. Otherwise, just return the value
227
+ # @param [Object] value Any valid value
228
+ # @return [Hash] Returns the value in the form of hash
229
+ def _to_hash(value)
230
+ if value.is_a?(Array)
231
+ value.compact.map { |v| _to_hash(v) }
232
+ elsif value.is_a?(Hash)
233
+ {}.tap do |hash|
234
+ value.each { |k, v| hash[k] = _to_hash(v) }
235
+ end
236
+ elsif value.respond_to? :to_hash
237
+ value.to_hash
238
+ else
239
+ value
240
+ end
241
+ end
242
+ end
243
+ end