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,302 @@
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 CreateExtensionParams
17
+ attr_accessor :voicemail
18
+
19
+ attr_accessor :call_notifications
20
+
21
+ # Caller ID
22
+ attr_accessor :caller_id
23
+
24
+ # Extension type
25
+ attr_accessor :usage_type
26
+
27
+ # Extension number (auto-generated if empty)
28
+ attr_accessor :extension
29
+
30
+ # Include in dial-by-name directory
31
+ attr_accessor :include_in_directory
32
+
33
+ # Name (auto-generated if empty)
34
+ attr_accessor :name
35
+
36
+ # Contact name
37
+ attr_accessor :full_name
38
+
39
+ # Timezone
40
+ attr_accessor :timezone
41
+
42
+ # Recording lookup object
43
+ attr_accessor :name_greeting
44
+
45
+ # Local area code
46
+ attr_accessor :local_area_code
47
+
48
+ # Enable outgoing calls
49
+ attr_accessor :enable_outbound_calls
50
+
51
+ # Enable Call Waiting
52
+ attr_accessor :enable_call_waiting
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+ :'voicemail' => :'voicemail',
58
+ :'call_notifications' => :'call_notifications',
59
+ :'caller_id' => :'caller_id',
60
+ :'usage_type' => :'usage_type',
61
+ :'extension' => :'extension',
62
+ :'include_in_directory' => :'include_in_directory',
63
+ :'name' => :'name',
64
+ :'full_name' => :'full_name',
65
+ :'timezone' => :'timezone',
66
+ :'name_greeting' => :'name_greeting',
67
+ :'local_area_code' => :'local_area_code',
68
+ :'enable_outbound_calls' => :'enable_outbound_calls',
69
+ :'enable_call_waiting' => :'enable_call_waiting'
70
+ }
71
+ end
72
+
73
+ # Attribute type mapping.
74
+ def self.swagger_types
75
+ {
76
+ :'voicemail' => :'VoicemailInput',
77
+ :'call_notifications' => :'CallNotifications',
78
+ :'caller_id' => :'String',
79
+ :'usage_type' => :'String',
80
+ :'extension' => :'Integer',
81
+ :'include_in_directory' => :'String',
82
+ :'name' => :'String',
83
+ :'full_name' => :'String',
84
+ :'timezone' => :'String',
85
+ :'name_greeting' => :'Object',
86
+ :'local_area_code' => :'String',
87
+ :'enable_outbound_calls' => :'String',
88
+ :'enable_call_waiting' => :'String'
89
+ }
90
+ end
91
+
92
+ # Initializes the object
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ def initialize(attributes = {})
95
+ return unless attributes.is_a?(Hash)
96
+
97
+ # convert string to symbol for hash key
98
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
99
+
100
+ if attributes.has_key?(:'voicemail')
101
+ self.voicemail = attributes[:'voicemail']
102
+ end
103
+
104
+ if attributes.has_key?(:'call_notifications')
105
+ self.call_notifications = attributes[:'call_notifications']
106
+ end
107
+
108
+ if attributes.has_key?(:'caller_id')
109
+ self.caller_id = attributes[:'caller_id']
110
+ end
111
+
112
+ if attributes.has_key?(:'usage_type')
113
+ self.usage_type = attributes[:'usage_type']
114
+ end
115
+
116
+ if attributes.has_key?(:'extension')
117
+ self.extension = attributes[:'extension']
118
+ end
119
+
120
+ if attributes.has_key?(:'include_in_directory')
121
+ self.include_in_directory = attributes[:'include_in_directory']
122
+ end
123
+
124
+ if attributes.has_key?(:'name')
125
+ self.name = attributes[:'name']
126
+ end
127
+
128
+ if attributes.has_key?(:'full_name')
129
+ self.full_name = attributes[:'full_name']
130
+ end
131
+
132
+ if attributes.has_key?(:'timezone')
133
+ self.timezone = attributes[:'timezone']
134
+ end
135
+
136
+ if attributes.has_key?(:'name_greeting')
137
+ self.name_greeting = attributes[:'name_greeting']
138
+ end
139
+
140
+ if attributes.has_key?(:'local_area_code')
141
+ self.local_area_code = attributes[:'local_area_code']
142
+ end
143
+
144
+ if attributes.has_key?(:'enable_outbound_calls')
145
+ self.enable_outbound_calls = attributes[:'enable_outbound_calls']
146
+ end
147
+
148
+ if attributes.has_key?(:'enable_call_waiting')
149
+ self.enable_call_waiting = attributes[:'enable_call_waiting']
150
+ end
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ invalid_properties
158
+ end
159
+
160
+ # Check to see if the all the properties in the model are valid
161
+ # @return true if the model is valid
162
+ def valid?
163
+ true
164
+ end
165
+
166
+ # Checks equality by comparing each attribute.
167
+ # @param [Object] Object to be compared
168
+ def ==(o)
169
+ return true if self.equal?(o)
170
+ self.class == o.class &&
171
+ voicemail == o.voicemail &&
172
+ call_notifications == o.call_notifications &&
173
+ caller_id == o.caller_id &&
174
+ usage_type == o.usage_type &&
175
+ extension == o.extension &&
176
+ include_in_directory == o.include_in_directory &&
177
+ name == o.name &&
178
+ full_name == o.full_name &&
179
+ timezone == o.timezone &&
180
+ name_greeting == o.name_greeting &&
181
+ local_area_code == o.local_area_code &&
182
+ enable_outbound_calls == o.enable_outbound_calls &&
183
+ enable_call_waiting == o.enable_call_waiting
184
+ end
185
+
186
+ # @see the `==` method
187
+ # @param [Object] Object to be compared
188
+ def eql?(o)
189
+ self == o
190
+ end
191
+
192
+ # Calculates hash code according to all attributes.
193
+ # @return [Fixnum] Hash code
194
+ def hash
195
+ [voicemail, call_notifications, caller_id, usage_type, extension, include_in_directory, name, full_name, timezone, name_greeting, local_area_code, enable_outbound_calls, enable_call_waiting].hash
196
+ end
197
+
198
+ # Builds the object from hash
199
+ # @param [Hash] attributes Model attributes in the form of hash
200
+ # @return [Object] Returns the model itself
201
+ def build_from_hash(attributes)
202
+ return nil unless attributes.is_a?(Hash)
203
+ self.class.swagger_types.each_pair do |key, type|
204
+ if type =~ /\AArray<(.*)>/i
205
+ # check to ensure the input is an array given that the the attribute
206
+ # is documented as an array but the input is not
207
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
208
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
209
+ end
210
+ elsif !attributes[self.class.attribute_map[key]].nil?
211
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
212
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
213
+ end
214
+
215
+ self
216
+ end
217
+
218
+ # Deserializes the data based on type
219
+ # @param string type Data type
220
+ # @param string value Value to be deserialized
221
+ # @return [Object] Deserialized data
222
+ def _deserialize(type, value)
223
+ case type.to_sym
224
+ when :DateTime
225
+ DateTime.parse(value)
226
+ when :Date
227
+ Date.parse(value)
228
+ when :String
229
+ value.to_s
230
+ when :Integer
231
+ value.to_i
232
+ when :Float
233
+ value.to_f
234
+ when :BOOLEAN
235
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
236
+ true
237
+ else
238
+ false
239
+ end
240
+ when :Object
241
+ # generic object (usually a Hash), return directly
242
+ value
243
+ when /\AArray<(?<inner_type>.+)>\z/
244
+ inner_type = Regexp.last_match[:inner_type]
245
+ value.map { |v| _deserialize(inner_type, v) }
246
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
247
+ k_type = Regexp.last_match[:k_type]
248
+ v_type = Regexp.last_match[:v_type]
249
+ {}.tap do |hash|
250
+ value.each do |k, v|
251
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
252
+ end
253
+ end
254
+ else # model
255
+ temp_model = PhoneComClient.const_get(type).new
256
+ temp_model.build_from_hash(value)
257
+ end
258
+ end
259
+
260
+ # Returns the string representation of the object
261
+ # @return [String] String presentation of the object
262
+ def to_s
263
+ to_hash.to_s
264
+ end
265
+
266
+ # to_body is an alias to to_hash (backward compatibility)
267
+ # @return [Hash] Returns the object in the form of hash
268
+ def to_body
269
+ to_hash
270
+ end
271
+
272
+ # Returns the object in the form of hash
273
+ # @return [Hash] Returns the object in the form of hash
274
+ def to_hash
275
+ hash = {}
276
+ self.class.attribute_map.each_pair do |attr, param|
277
+ value = self.send(attr)
278
+ next if value.nil?
279
+ hash[param] = _to_hash(value)
280
+ end
281
+ hash
282
+ end
283
+
284
+ # Outputs non-array value in the form of hash
285
+ # For object, use to_hash. Otherwise, just return the value
286
+ # @param [Object] value Any valid value
287
+ # @return [Hash] Returns the value in the form of hash
288
+ def _to_hash(value)
289
+ if value.is_a?(Array)
290
+ value.compact.map { |v| _to_hash(v) }
291
+ elsif value.is_a?(Hash)
292
+ {}.tap do |hash|
293
+ value.each { |k, v| hash[k] = _to_hash(v) }
294
+ end
295
+ elsif value.respond_to? :to_hash
296
+ value.to_hash
297
+ else
298
+ value
299
+ end
300
+ end
301
+ end
302
+ end
@@ -0,0 +1,184 @@
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 CreateGroupParams
17
+ # Group name
18
+ attr_accessor :name
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'name' => :'name'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'name' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'name')
43
+ self.name = attributes[:'name']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ invalid_properties
52
+ end
53
+
54
+ # Check to see if the all the properties in the model are valid
55
+ # @return true if the model is valid
56
+ def valid?
57
+ true
58
+ end
59
+
60
+ # Checks equality by comparing each attribute.
61
+ # @param [Object] Object to be compared
62
+ def ==(o)
63
+ return true if self.equal?(o)
64
+ self.class == o.class &&
65
+ name == o.name
66
+ end
67
+
68
+ # @see the `==` method
69
+ # @param [Object] Object to be compared
70
+ def eql?(o)
71
+ self == o
72
+ end
73
+
74
+ # Calculates hash code according to all attributes.
75
+ # @return [Fixnum] Hash code
76
+ def hash
77
+ [name].hash
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ self.class.swagger_types.each_pair do |key, type|
86
+ if type =~ /\AArray<(.*)>/i
87
+ # check to ensure the input is an array given that the the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
90
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
91
+ end
92
+ elsif !attributes[self.class.attribute_map[key]].nil?
93
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
94
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Deserializes the data based on type
101
+ # @param string type Data type
102
+ # @param string value Value to be deserialized
103
+ # @return [Object] Deserialized data
104
+ def _deserialize(type, value)
105
+ case type.to_sym
106
+ when :DateTime
107
+ DateTime.parse(value)
108
+ when :Date
109
+ Date.parse(value)
110
+ when :String
111
+ value.to_s
112
+ when :Integer
113
+ value.to_i
114
+ when :Float
115
+ value.to_f
116
+ when :BOOLEAN
117
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
118
+ true
119
+ else
120
+ false
121
+ end
122
+ when :Object
123
+ # generic object (usually a Hash), return directly
124
+ value
125
+ when /\AArray<(?<inner_type>.+)>\z/
126
+ inner_type = Regexp.last_match[:inner_type]
127
+ value.map { |v| _deserialize(inner_type, v) }
128
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
129
+ k_type = Regexp.last_match[:k_type]
130
+ v_type = Regexp.last_match[:v_type]
131
+ {}.tap do |hash|
132
+ value.each do |k, v|
133
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
134
+ end
135
+ end
136
+ else # model
137
+ temp_model = PhoneComClient.const_get(type).new
138
+ temp_model.build_from_hash(value)
139
+ end
140
+ end
141
+
142
+ # Returns the string representation of the object
143
+ # @return [String] String presentation of the object
144
+ def to_s
145
+ to_hash.to_s
146
+ end
147
+
148
+ # to_body is an alias to to_hash (backward compatibility)
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_body
151
+ to_hash
152
+ end
153
+
154
+ # Returns the object in the form of hash
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_hash
157
+ hash = {}
158
+ self.class.attribute_map.each_pair do |attr, param|
159
+ value = self.send(attr)
160
+ next if value.nil?
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ # Outputs non-array value in the form of hash
167
+ # For object, use to_hash. Otherwise, just return the value
168
+ # @param [Object] value Any valid value
169
+ # @return [Hash] Returns the value in the form of hash
170
+ def _to_hash(value)
171
+ if value.is_a?(Array)
172
+ value.compact.map { |v| _to_hash(v) }
173
+ elsif value.is_a?(Hash)
174
+ {}.tap do |hash|
175
+ value.each { |k, v| hash[k] = _to_hash(v) }
176
+ end
177
+ elsif value.respond_to? :to_hash
178
+ value.to_hash
179
+ else
180
+ value
181
+ end
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,206 @@
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 CreateListenerParams
17
+ # Type of listener. Must be 'callback'
18
+ attr_accessor :type
19
+
20
+ # Type of event to subscribe. 'call.new', 'call.update', 'call.complete'
21
+ attr_accessor :event_type
22
+
23
+ # Array of Callback Objects.
24
+ attr_accessor :callbacks
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'type' => :'type',
30
+ :'event_type' => :'event_type',
31
+ :'callbacks' => :'callbacks'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.swagger_types
37
+ {
38
+ :'type' => :'String',
39
+ :'event_type' => :'String',
40
+ :'callbacks' => :'Array<CallbackObject>'
41
+ }
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
51
+
52
+ if attributes.has_key?(:'type')
53
+ self.type = attributes[:'type']
54
+ end
55
+
56
+ if attributes.has_key?(:'event_type')
57
+ self.event_type = attributes[:'event_type']
58
+ end
59
+
60
+ if attributes.has_key?(:'callbacks')
61
+ if (value = attributes[:'callbacks']).is_a?(Array)
62
+ self.callbacks = value
63
+ end
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ type == o.type &&
86
+ event_type == o.event_type &&
87
+ callbacks == o.callbacks
88
+ end
89
+
90
+ # @see the `==` method
91
+ # @param [Object] Object to be compared
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [type, event_type, callbacks].hash
100
+ end
101
+
102
+ # Builds the object from hash
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ # @return [Object] Returns the model itself
105
+ def build_from_hash(attributes)
106
+ return nil unless attributes.is_a?(Hash)
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ if type =~ /\AArray<(.*)>/i
109
+ # check to ensure the input is an array given that the the attribute
110
+ # is documented as an array but the input is not
111
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
112
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
113
+ end
114
+ elsif !attributes[self.class.attribute_map[key]].nil?
115
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
117
+ end
118
+
119
+ self
120
+ end
121
+
122
+ # Deserializes the data based on type
123
+ # @param string type Data type
124
+ # @param string value Value to be deserialized
125
+ # @return [Object] Deserialized data
126
+ def _deserialize(type, value)
127
+ case type.to_sym
128
+ when :DateTime
129
+ DateTime.parse(value)
130
+ when :Date
131
+ Date.parse(value)
132
+ when :String
133
+ value.to_s
134
+ when :Integer
135
+ value.to_i
136
+ when :Float
137
+ value.to_f
138
+ when :BOOLEAN
139
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
140
+ true
141
+ else
142
+ false
143
+ end
144
+ when :Object
145
+ # generic object (usually a Hash), return directly
146
+ value
147
+ when /\AArray<(?<inner_type>.+)>\z/
148
+ inner_type = Regexp.last_match[:inner_type]
149
+ value.map { |v| _deserialize(inner_type, v) }
150
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
151
+ k_type = Regexp.last_match[:k_type]
152
+ v_type = Regexp.last_match[:v_type]
153
+ {}.tap do |hash|
154
+ value.each do |k, v|
155
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
156
+ end
157
+ end
158
+ else # model
159
+ temp_model = PhoneComClient.const_get(type).new
160
+ temp_model.build_from_hash(value)
161
+ end
162
+ end
163
+
164
+ # Returns the string representation of the object
165
+ # @return [String] String presentation of the object
166
+ def to_s
167
+ to_hash.to_s
168
+ end
169
+
170
+ # to_body is an alias to to_hash (backward compatibility)
171
+ # @return [Hash] Returns the object in the form of hash
172
+ def to_body
173
+ to_hash
174
+ end
175
+
176
+ # Returns the object in the form of hash
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_hash
179
+ hash = {}
180
+ self.class.attribute_map.each_pair do |attr, param|
181
+ value = self.send(attr)
182
+ next if value.nil?
183
+ hash[param] = _to_hash(value)
184
+ end
185
+ hash
186
+ end
187
+
188
+ # Outputs non-array value in the form of hash
189
+ # For object, use to_hash. Otherwise, just return the value
190
+ # @param [Object] value Any valid value
191
+ # @return [Hash] Returns the value in the form of hash
192
+ def _to_hash(value)
193
+ if value.is_a?(Array)
194
+ value.compact.map { |v| _to_hash(v) }
195
+ elsif value.is_a?(Hash)
196
+ {}.tap do |hash|
197
+ value.each { |k, v| hash[k] = _to_hash(v) }
198
+ end
199
+ elsif value.respond_to? :to_hash
200
+ value.to_hash
201
+ else
202
+ value
203
+ end
204
+ end
205
+ end
206
+ end