freeclimb 5.1.0 → 5.3.0

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 (334) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/Gemfile +4 -5
  4. data/Gemfile.lock +20 -7
  5. data/README.md +17 -4
  6. data/Rakefile +1 -1
  7. data/docs/CallResult.md +2 -2
  8. data/docs/CreateConference.md +4 -2
  9. data/docs/CreateConferenceRequest.md +1 -1
  10. data/docs/DefaultApi.md +369 -2
  11. data/docs/ExportList.md +32 -0
  12. data/docs/ExportOutputType.md +16 -0
  13. data/docs/ExportRequest.md +24 -0
  14. data/docs/ExportRequestOutput.md +18 -0
  15. data/docs/ExportResourceType.md +17 -0
  16. data/docs/ExportResult.md +40 -0
  17. data/docs/ExportResultOutput.md +18 -0
  18. data/docs/ExportStatus.md +21 -0
  19. data/freeclimb.gemspec +21 -26
  20. data/lib/freeclimb/api/default_api.rb +1191 -878
  21. data/lib/freeclimb/api_client.rb +78 -83
  22. data/lib/freeclimb/api_error.rb +17 -19
  23. data/lib/freeclimb/configuration.rb +27 -29
  24. data/lib/freeclimb/models/account_request.rb +36 -41
  25. data/lib/freeclimb/models/account_result.rb +88 -92
  26. data/lib/freeclimb/models/account_status.rb +12 -14
  27. data/lib/freeclimb/models/account_type.rb +12 -14
  28. data/lib/freeclimb/models/add_to_conference.rb +81 -85
  29. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +99 -103
  30. data/lib/freeclimb/models/add_to_queue_notification_webhook.rb +78 -82
  31. data/lib/freeclimb/models/answered_by.rb +12 -14
  32. data/lib/freeclimb/models/application_list.rb +74 -78
  33. data/lib/freeclimb/models/application_request.rb +66 -70
  34. data/lib/freeclimb/models/application_result.rb +100 -104
  35. data/lib/freeclimb/models/available_number.rb +66 -70
  36. data/lib/freeclimb/models/available_number_list.rb +74 -78
  37. data/lib/freeclimb/models/barge_in_reason.rb +12 -14
  38. data/lib/freeclimb/models/buy_incoming_number_request.rb +41 -45
  39. data/lib/freeclimb/models/call_control_webhook.rb +56 -61
  40. data/lib/freeclimb/models/call_direction.rb +12 -14
  41. data/lib/freeclimb/models/call_ended_reason.rb +12 -14
  42. data/lib/freeclimb/models/call_list.rb +74 -78
  43. data/lib/freeclimb/models/call_result.rb +144 -148
  44. data/lib/freeclimb/models/call_status.rb +12 -14
  45. data/lib/freeclimb/models/call_status_webhook.rb +84 -88
  46. data/lib/freeclimb/models/capabilities.rb +55 -59
  47. data/lib/freeclimb/models/completion_request.rb +32 -36
  48. data/lib/freeclimb/models/completion_result.rb +36 -40
  49. data/lib/freeclimb/models/completion_result_status.rb +12 -14
  50. data/lib/freeclimb/models/conference_list.rb +74 -78
  51. data/lib/freeclimb/models/conference_participant_list.rb +74 -78
  52. data/lib/freeclimb/models/conference_participant_result.rb +88 -92
  53. data/lib/freeclimb/models/conference_recording_status_webhook.rb +99 -103
  54. data/lib/freeclimb/models/conference_result.rb +106 -110
  55. data/lib/freeclimb/models/conference_status.rb +12 -14
  56. data/lib/freeclimb/models/conference_status_webhook.rb +102 -106
  57. data/lib/freeclimb/models/create_conference.rb +71 -64
  58. data/lib/freeclimb/models/create_conference_request.rb +55 -54
  59. data/lib/freeclimb/models/create_conference_webhook.rb +102 -106
  60. data/lib/freeclimb/models/create_web_rtc_token.rb +42 -46
  61. data/lib/freeclimb/models/dequeue.rb +28 -33
  62. data/lib/freeclimb/models/dequeue_webhook.rb +89 -93
  63. data/lib/freeclimb/models/enqueue.rb +48 -52
  64. data/lib/freeclimb/models/export_list.rb +304 -0
  65. data/lib/freeclimb/models/export_output_type.rb +34 -0
  66. data/lib/freeclimb/models/export_request.rb +276 -0
  67. data/lib/freeclimb/models/export_request_output.rb +243 -0
  68. data/lib/freeclimb/models/export_resource_type.rb +35 -0
  69. data/lib/freeclimb/models/export_result.rb +405 -0
  70. data/lib/freeclimb/models/export_result_output.rb +243 -0
  71. data/lib/freeclimb/models/export_status.rb +39 -0
  72. data/lib/freeclimb/models/filter_logs_request.rb +31 -35
  73. data/lib/freeclimb/models/get_digits.rb +73 -77
  74. data/lib/freeclimb/models/get_digits_reason.rb +12 -14
  75. data/lib/freeclimb/models/get_digits_webhook.rb +93 -97
  76. data/lib/freeclimb/models/get_speech.rb +94 -97
  77. data/lib/freeclimb/models/get_speech_reason.rb +12 -14
  78. data/lib/freeclimb/models/get_speech_webhook.rb +118 -122
  79. data/lib/freeclimb/models/grammar_file_built_in.rb +12 -14
  80. data/lib/freeclimb/models/grammar_type.rb +12 -14
  81. data/lib/freeclimb/models/hangup.rb +34 -39
  82. data/lib/freeclimb/models/if_machine.rb +12 -14
  83. data/lib/freeclimb/models/inbound_call_webhook.rb +85 -89
  84. data/lib/freeclimb/models/incoming_number_list.rb +74 -78
  85. data/lib/freeclimb/models/incoming_number_request.rb +41 -45
  86. data/lib/freeclimb/models/incoming_number_result.rb +122 -126
  87. data/lib/freeclimb/models/language.rb +12 -14
  88. data/lib/freeclimb/models/leave_conference_webhook.rb +79 -83
  89. data/lib/freeclimb/models/log_level.rb +12 -14
  90. data/lib/freeclimb/models/log_list.rb +74 -78
  91. data/lib/freeclimb/models/log_result.rb +67 -71
  92. data/lib/freeclimb/models/machine_detected_webhook.rb +89 -93
  93. data/lib/freeclimb/models/machine_type.rb +12 -14
  94. data/lib/freeclimb/models/make_call_request.rb +77 -81
  95. data/lib/freeclimb/models/message_delivery_webhook.rb +81 -86
  96. data/lib/freeclimb/models/message_direction.rb +12 -14
  97. data/lib/freeclimb/models/message_request.rb +72 -75
  98. data/lib/freeclimb/models/message_result.rb +135 -139
  99. data/lib/freeclimb/models/message_status.rb +12 -14
  100. data/lib/freeclimb/models/message_status_webhook.rb +86 -90
  101. data/lib/freeclimb/models/messages_list.rb +74 -78
  102. data/lib/freeclimb/models/mutable_resource_model.rb +46 -51
  103. data/lib/freeclimb/models/out_dial.rb +80 -84
  104. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +84 -88
  105. data/lib/freeclimb/models/out_dial_connect_webhook.rb +84 -88
  106. data/lib/freeclimb/models/out_dial_start_webhook.rb +90 -94
  107. data/lib/freeclimb/models/pagination_model.rb +67 -71
  108. data/lib/freeclimb/models/park.rb +44 -48
  109. data/lib/freeclimb/models/pause.rb +33 -37
  110. data/lib/freeclimb/models/percl_command.rb +36 -40
  111. data/lib/freeclimb/models/percl_script.rb +32 -36
  112. data/lib/freeclimb/models/play.rb +44 -48
  113. data/lib/freeclimb/models/play_beep.rb +12 -14
  114. data/lib/freeclimb/models/play_early_media.rb +33 -37
  115. data/lib/freeclimb/models/queue_list.rb +74 -78
  116. data/lib/freeclimb/models/queue_member.rb +55 -59
  117. data/lib/freeclimb/models/queue_member_list.rb +74 -78
  118. data/lib/freeclimb/models/queue_request.rb +37 -42
  119. data/lib/freeclimb/models/queue_result.rb +88 -92
  120. data/lib/freeclimb/models/queue_result_status.rb +12 -14
  121. data/lib/freeclimb/models/queue_wait_webhook.rb +94 -98
  122. data/lib/freeclimb/models/record_utterance.rb +63 -67
  123. data/lib/freeclimb/models/record_utterance_term_reason.rb +12 -14
  124. data/lib/freeclimb/models/record_webhook.rb +119 -123
  125. data/lib/freeclimb/models/recording_list.rb +74 -78
  126. data/lib/freeclimb/models/recording_result.rb +76 -80
  127. data/lib/freeclimb/models/redirect.rb +33 -37
  128. data/lib/freeclimb/models/redirect_webhook.rb +84 -88
  129. data/lib/freeclimb/models/reject.rb +34 -39
  130. data/lib/freeclimb/models/remove_from_conference.rb +28 -33
  131. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +89 -93
  132. data/lib/freeclimb/models/request_type.rb +12 -14
  133. data/lib/freeclimb/models/say.rb +49 -53
  134. data/lib/freeclimb/models/send_digits.rb +43 -47
  135. data/lib/freeclimb/models/set_dtmf_pass_through.rb +34 -39
  136. data/lib/freeclimb/models/set_listen.rb +34 -39
  137. data/lib/freeclimb/models/set_talk.rb +34 -39
  138. data/lib/freeclimb/models/sms.rb +48 -52
  139. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +187 -190
  140. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +12 -14
  141. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +12 -14
  142. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +12 -14
  143. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +12 -14
  144. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +12 -14
  145. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +74 -78
  146. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +226 -229
  147. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +12 -14
  148. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +74 -78
  149. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +186 -189
  150. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +84 -87
  151. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +12 -14
  152. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +74 -78
  153. data/lib/freeclimb/models/sms_toll_free_campaign.rb +61 -64
  154. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +12 -14
  155. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +74 -78
  156. data/lib/freeclimb/models/start_record_call.rb +28 -33
  157. data/lib/freeclimb/models/terminate_conference.rb +28 -33
  158. data/lib/freeclimb/models/tfn.rb +31 -35
  159. data/lib/freeclimb/models/tfn_campaign.rb +76 -79
  160. data/lib/freeclimb/models/transcribe_reason.rb +12 -14
  161. data/lib/freeclimb/models/transcribe_term_reason.rb +12 -14
  162. data/lib/freeclimb/models/transcribe_utterance.rb +61 -65
  163. data/lib/freeclimb/models/transcribe_utterance_record.rb +43 -47
  164. data/lib/freeclimb/models/transcribe_webhook.rb +150 -154
  165. data/lib/freeclimb/models/unpark.rb +28 -33
  166. data/lib/freeclimb/models/update_call_request.rb +31 -35
  167. data/lib/freeclimb/models/update_call_request_status.rb +12 -14
  168. data/lib/freeclimb/models/update_conference_participant_request.rb +41 -46
  169. data/lib/freeclimb/models/update_conference_request.rb +41 -45
  170. data/lib/freeclimb/models/update_conference_request_status.rb +12 -14
  171. data/lib/freeclimb/models/webhook.rb +32 -37
  172. data/lib/freeclimb/utils/request_verifier.rb +14 -14
  173. data/lib/freeclimb/utils/signature_information.rb +8 -8
  174. data/lib/freeclimb/version.rb +10 -12
  175. data/lib/freeclimb.rb +164 -158
  176. data/openapi.json +373 -2
  177. data/package.json +1 -1
  178. data/spec/api/default_api_spec.rb +631 -676
  179. data/spec/api_client_spec.rb +100 -102
  180. data/spec/configuration_spec.rb +16 -18
  181. data/spec/models/account_request_spec.rb +104 -233
  182. data/spec/models/account_result_spec.rb +393 -1013
  183. data/spec/models/account_status_spec.rb +27 -30
  184. data/spec/models/account_type_spec.rb +24 -27
  185. data/spec/models/add_to_conference_notification_webhook_spec.rb +464 -1197
  186. data/spec/models/add_to_conference_spec.rb +354 -850
  187. data/spec/models/add_to_queue_notification_webhook_spec.rb +341 -864
  188. data/spec/models/answered_by_spec.rb +24 -27
  189. data/spec/models/application_list_spec.rb +289 -646
  190. data/spec/models/application_request_spec.rb +265 -679
  191. data/spec/models/application_result_spec.rb +444 -1184
  192. data/spec/models/available_number_list_spec.rb +289 -646
  193. data/spec/models/available_number_spec.rb +271 -650
  194. data/spec/models/barge_in_reason_spec.rb +27 -30
  195. data/spec/models/buy_incoming_number_request_spec.rb +136 -322
  196. data/spec/models/call_control_webhook_spec.rb +203 -503
  197. data/spec/models/call_direction_spec.rb +27 -30
  198. data/spec/models/call_ended_reason_spec.rb +107 -110
  199. data/spec/models/call_list_spec.rb +289 -646
  200. data/spec/models/call_result_spec.rb +699 -1798
  201. data/spec/models/call_status_spec.rb +47 -50
  202. data/spec/models/call_status_webhook_spec.rb +413 -990
  203. data/spec/models/capabilities_spec.rb +202 -411
  204. data/spec/models/completion_request_spec.rb +75 -143
  205. data/spec/models/completion_result_spec.rb +104 -231
  206. data/spec/models/completion_result_status_spec.rb +24 -27
  207. data/spec/models/conference_list_spec.rb +289 -646
  208. data/spec/models/conference_participant_list_spec.rb +289 -646
  209. data/spec/models/conference_participant_result_spec.rb +384 -938
  210. data/spec/models/conference_recording_status_webhook_spec.rb +464 -1197
  211. data/spec/models/conference_result_spec.rb +489 -1263
  212. data/spec/models/conference_status_spec.rb +31 -34
  213. data/spec/models/conference_status_webhook_spec.rb +464 -1197
  214. data/spec/models/create_conference_request_spec.rb +204 -485
  215. data/spec/models/create_conference_spec.rb +289 -561
  216. data/spec/models/create_conference_webhook_spec.rb +464 -1197
  217. data/spec/models/create_web_rtc_token_spec.rb +136 -307
  218. data/spec/models/dequeue_spec.rb +14 -17
  219. data/spec/models/dequeue_webhook_spec.rb +400 -1021
  220. data/spec/models/enqueue_spec.rb +169 -412
  221. data/spec/models/export_list_spec.rb +502 -0
  222. data/spec/models/export_output_type_spec.rb +43 -0
  223. data/spec/models/export_request_output_spec.rb +162 -0
  224. data/spec/models/export_request_spec.rb +320 -0
  225. data/spec/models/export_resource_type_spec.rb +59 -0
  226. data/spec/models/export_result_output_spec.rb +162 -0
  227. data/spec/models/export_result_spec.rb +718 -0
  228. data/spec/models/export_status_spec.rb +123 -0
  229. data/spec/models/filter_logs_request_spec.rb +73 -145
  230. data/spec/models/get_digits_reason_spec.rb +31 -34
  231. data/spec/models/get_digits_spec.rb +326 -737
  232. data/spec/models/get_digits_webhook_spec.rb +435 -1127
  233. data/spec/models/get_speech_reason_spec.rb +39 -42
  234. data/spec/models/get_speech_spec.rb +399 -1036
  235. data/spec/models/get_speech_webhook_spec.rb +608 -1553
  236. data/spec/models/grammar_file_built_in_spec.rb +75 -78
  237. data/spec/models/grammar_type_spec.rb +24 -27
  238. data/spec/models/hangup_spec.rb +73 -145
  239. data/spec/models/if_machine_spec.rb +24 -27
  240. data/spec/models/inbound_call_webhook_spec.rb +371 -951
  241. data/spec/models/incoming_number_list_spec.rb +289 -646
  242. data/spec/models/incoming_number_request_spec.rb +136 -322
  243. data/spec/models/incoming_number_result_spec.rb +573 -1489
  244. data/spec/models/language_spec.rb +120 -123
  245. data/spec/models/leave_conference_webhook_spec.rb +341 -864
  246. data/spec/models/log_level_spec.rb +27 -30
  247. data/spec/models/log_list_spec.rb +289 -646
  248. data/spec/models/log_result_spec.rb +272 -667
  249. data/spec/models/machine_detected_webhook_spec.rb +401 -1036
  250. data/spec/models/machine_type_spec.rb +24 -27
  251. data/spec/models/make_call_request_spec.rb +353 -905
  252. data/spec/models/message_delivery_webhook_spec.rb +357 -942
  253. data/spec/models/message_direction_spec.rb +24 -27
  254. data/spec/models/message_request_spec.rb +324 -818
  255. data/spec/models/message_result_spec.rb +647 -1710
  256. data/spec/models/message_status_spec.rb +60 -63
  257. data/spec/models/message_status_webhook_spec.rb +405 -1045
  258. data/spec/models/messages_list_spec.rb +289 -646
  259. data/spec/models/mutable_resource_model_spec.rb +168 -395
  260. data/spec/models/out_dial_api_connect_webhook_spec.rb +371 -951
  261. data/spec/models/out_dial_connect_webhook_spec.rb +371 -951
  262. data/spec/models/out_dial_spec.rb +354 -903
  263. data/spec/models/out_dial_start_webhook_spec.rb +401 -1038
  264. data/spec/models/pagination_model_spec.rb +259 -577
  265. data/spec/models/park_spec.rb +136 -322
  266. data/spec/models/pause_spec.rb +72 -128
  267. data/spec/models/percl_command_spec.rb +76 -145
  268. data/spec/models/percl_script_spec.rb +73 -127
  269. data/spec/models/play_beep_spec.rb +31 -34
  270. data/spec/models/play_early_media_spec.rb +73 -145
  271. data/spec/models/play_spec.rb +135 -287
  272. data/spec/models/queue_list_spec.rb +289 -646
  273. data/spec/models/queue_member_list_spec.rb +289 -646
  274. data/spec/models/queue_member_spec.rb +199 -467
  275. data/spec/models/queue_request_spec.rb +103 -216
  276. data/spec/models/queue_result_spec.rb +388 -965
  277. data/spec/models/queue_result_status_spec.rb +31 -34
  278. data/spec/models/queue_wait_webhook_spec.rb +429 -1091
  279. data/spec/models/record_utterance_spec.rb +263 -591
  280. data/spec/models/record_utterance_term_reason_spec.rb +31 -34
  281. data/spec/models/record_webhook_spec.rb +605 -1548
  282. data/spec/models/recording_list_spec.rb +289 -646
  283. data/spec/models/recording_result_spec.rb +323 -819
  284. data/spec/models/redirect_spec.rb +73 -145
  285. data/spec/models/redirect_webhook_spec.rb +371 -951
  286. data/spec/models/reject_spec.rb +73 -145
  287. data/spec/models/remove_from_conference_spec.rb +14 -17
  288. data/spec/models/remove_from_queue_notification_webhook_spec.rb +404 -1023
  289. data/spec/models/request_type_spec.rb +107 -110
  290. data/spec/models/say_spec.rb +168 -377
  291. data/spec/models/send_digits_spec.rb +135 -287
  292. data/spec/models/set_dtmf_pass_through_spec.rb +74 -127
  293. data/spec/models/set_listen_spec.rb +74 -127
  294. data/spec/models/set_talk_spec.rb +74 -127
  295. data/spec/models/sms_spec.rb +169 -412
  296. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +31 -34
  297. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +35 -38
  298. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +31 -34
  299. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +35 -38
  300. data/spec/models/sms_ten_dlc_brand_spec.rb +1082 -2746
  301. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +124 -127
  302. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +289 -646
  303. data/spec/models/sms_ten_dlc_campaign_spec.rb +1139 -2881
  304. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +24 -27
  305. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +289 -646
  306. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +406 -1004
  307. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +961 -2393
  308. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +24 -27
  309. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +289 -646
  310. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +35 -38
  311. data/spec/models/sms_toll_free_campaign_spec.rb +270 -666
  312. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +289 -646
  313. data/spec/models/start_record_call_spec.rb +14 -17
  314. data/spec/models/terminate_conference_spec.rb +14 -17
  315. data/spec/models/tfn_campaign_spec.rb +330 -858
  316. data/spec/models/tfn_spec.rb +73 -145
  317. data/spec/models/transcribe_reason_spec.rb +35 -38
  318. data/spec/models/transcribe_term_reason_spec.rb +24 -27
  319. data/spec/models/transcribe_utterance_record_spec.rb +134 -270
  320. data/spec/models/transcribe_utterance_spec.rb +236 -523
  321. data/spec/models/transcribe_webhook_spec.rb +749 -1918
  322. data/spec/models/unpark_spec.rb +14 -17
  323. data/spec/models/update_call_request_spec.rb +74 -143
  324. data/spec/models/update_call_request_status_spec.rb +24 -27
  325. data/spec/models/update_conference_participant_request_spec.rb +137 -268
  326. data/spec/models/update_conference_request_spec.rb +140 -321
  327. data/spec/models/update_conference_request_status_spec.rb +24 -27
  328. data/spec/models/webhook_spec.rb +68 -137
  329. data/spec/quickstart_spec.rb +5 -5
  330. data/spec/spec_helper.rb +92 -100
  331. data/spec/utils/request_verifier_spec.rb +70 -71
  332. data/spec/utils/signature_information_spec.rb +23 -23
  333. data/yarn.lock +38 -29
  334. metadata +27 -151
@@ -1,17 +1,15 @@
1
- =begin
2
- #FreeClimb API
3
-
4
- #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: support@freeclimb.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.9.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "time"
15
13
 
16
14
  module Freeclimb
17
15
  class SMSTenDLCPartnerCampaignBrand
@@ -21,7 +19,7 @@ module Freeclimb
21
19
  # Unique identifier assigned to the brand by the registry.
22
20
  attr_accessor :brand_id
23
21
 
24
- # First or given name.
22
+ # First or given name.
25
23
  attr_accessor :first_name
26
24
 
27
25
  # Last or Surname.
@@ -51,17 +49,17 @@ module Freeclimb
51
49
  # Attribute mapping from ruby-style variable name to JSON key.
52
50
  def self.attribute_map
53
51
  {
54
- :'account_id' => :'accountId',
55
- :'brand_id' => :'brandId',
56
- :'first_name' => :'firstName',
57
- :'last_name' => :'lastName',
58
- :'display_name' => :'displayName',
59
- :'company_name' => :'companyName',
60
- :'phone' => :'phone',
61
- :'email' => :'email',
62
- :'website' => :'website',
63
- :'optional_attributes' => :'optionalAttributes',
64
- :'evp_vetting_score' => :'evpVettingScore'
52
+ account_id: :accountId,
53
+ brand_id: :brandId,
54
+ first_name: :firstName,
55
+ last_name: :lastName,
56
+ display_name: :displayName,
57
+ company_name: :companyName,
58
+ phone: :phone,
59
+ email: :email,
60
+ website: :website,
61
+ optional_attributes: :optionalAttributes,
62
+ evp_vetting_score: :evpVettingScore
65
63
  }
66
64
  end
67
65
 
@@ -73,93 +71,93 @@ module Freeclimb
73
71
  # Attribute type mapping.
74
72
  def self.openapi_types
75
73
  {
76
- :'account_id' => :'String',
77
- :'brand_id' => :'String',
78
- :'first_name' => :'String',
79
- :'last_name' => :'String',
80
- :'display_name' => :'String',
81
- :'company_name' => :'String',
82
- :'phone' => :'String',
83
- :'email' => :'String',
84
- :'website' => :'String',
85
- :'optional_attributes' => :'Hash<String, Object>',
86
- :'evp_vetting_score' => :'Integer'
74
+ account_id: :String,
75
+ brand_id: :String,
76
+ first_name: :String,
77
+ last_name: :String,
78
+ display_name: :String,
79
+ company_name: :String,
80
+ phone: :String,
81
+ email: :String,
82
+ website: :String,
83
+ optional_attributes: :"Hash<String, Object>",
84
+ evp_vetting_score: :Integer
87
85
  }
88
86
  end
89
87
 
90
88
  # List of attributes with nullable: true
91
89
  def self.openapi_nullable
92
90
  Set.new([
93
- :'account_id',
91
+ :account_id
94
92
  ])
95
93
  end
96
94
 
97
95
  # Initializes the object
98
96
  # @param [Hash] attributes Model attributes in the form of hash
99
97
  def initialize(attributes = {})
100
- if (!attributes.is_a?(Hash))
98
+ if !attributes.is_a?(Hash)
101
99
  fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTenDLCPartnerCampaignBrand` initialize method"
102
100
  end
103
101
 
104
102
  # check to see if the attribute exists and convert string to symbol for hash key
105
103
  attributes = attributes.each_with_object({}) { |(k, v), h|
106
- if (!self.class.attribute_map.key?(k.to_sym))
104
+ if !self.class.attribute_map.key?(k.to_sym)
107
105
  fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTenDLCPartnerCampaignBrand`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
106
  end
109
107
  h[k.to_sym] = v
110
108
  }
111
109
 
112
- if attributes.key?(:'account_id')
113
- self.account_id = attributes[:'account_id']
110
+ if attributes.key?(:account_id)
111
+ self.account_id = attributes[:account_id]
114
112
  end
115
113
 
116
- if attributes.key?(:'brand_id')
117
- self.brand_id = attributes[:'brand_id']
114
+ if attributes.key?(:brand_id)
115
+ self.brand_id = attributes[:brand_id]
118
116
  end
119
117
 
120
- if attributes.key?(:'first_name')
121
- self.first_name = attributes[:'first_name']
118
+ if attributes.key?(:first_name)
119
+ self.first_name = attributes[:first_name]
122
120
  end
123
121
 
124
- if attributes.key?(:'last_name')
125
- self.last_name = attributes[:'last_name']
122
+ if attributes.key?(:last_name)
123
+ self.last_name = attributes[:last_name]
126
124
  end
127
125
 
128
- if attributes.key?(:'display_name')
129
- self.display_name = attributes[:'display_name']
126
+ if attributes.key?(:display_name)
127
+ self.display_name = attributes[:display_name]
130
128
  end
131
129
 
132
- if attributes.key?(:'company_name')
133
- self.company_name = attributes[:'company_name']
130
+ if attributes.key?(:company_name)
131
+ self.company_name = attributes[:company_name]
134
132
  end
135
133
 
136
- if attributes.key?(:'phone')
137
- self.phone = attributes[:'phone']
134
+ if attributes.key?(:phone)
135
+ self.phone = attributes[:phone]
138
136
  end
139
137
 
140
- if attributes.key?(:'email')
141
- self.email = attributes[:'email']
138
+ if attributes.key?(:email)
139
+ self.email = attributes[:email]
142
140
  end
143
141
 
144
- if attributes.key?(:'website')
145
- self.website = attributes[:'website']
142
+ if attributes.key?(:website)
143
+ self.website = attributes[:website]
146
144
  end
147
145
 
148
- if attributes.key?(:'optional_attributes')
149
- if (value = attributes[:'optional_attributes']).is_a?(Hash)
146
+ if attributes.key?(:optional_attributes)
147
+ if (value = attributes[:optional_attributes]).is_a?(Hash)
150
148
  self.optional_attributes = value
151
149
  end
152
150
  end
153
151
 
154
- if attributes.key?(:'evp_vetting_score')
155
- self.evp_vetting_score = attributes[:'evp_vetting_score']
152
+ if attributes.key?(:evp_vetting_score)
153
+ self.evp_vetting_score = attributes[:evp_vetting_score]
156
154
  end
157
155
  end
158
156
 
159
157
  # Show invalid properties with the reasons. Usually used together with valid?
160
158
  # @return Array for valid properties with the reasons
161
159
  def list_invalid_properties
162
- invalid_properties = Array.new
160
+ invalid_properties = []
163
161
  if !@first_name.nil? && @first_name.to_s.length > 100
164
162
  invalid_properties.push('invalid value for "first_name", the character length must be smaller than or equal to 100.')
165
163
  end
@@ -202,11 +200,10 @@ module Freeclimb
202
200
  # Check to see if the all the properties in the model are valid
203
201
  # @return true if the model is valid
204
202
  def valid?
205
-
206
203
  if @account_id.nil?
207
204
  false
208
205
  else
209
- list_invalid_properties.length() == 0
206
+ list_invalid_properties.length == 0
210
207
  end
211
208
  end
212
209
 
@@ -254,7 +251,7 @@ module Freeclimb
254
251
  # @param [Object] phone Value to be assigned
255
252
  def phone=(phone)
256
253
  if phone.nil?
257
- fail ArgumentError, 'phone cannot be nil'
254
+ fail ArgumentError, "phone cannot be nil"
258
255
  end
259
256
 
260
257
  if phone.to_s.length > 20
@@ -268,7 +265,7 @@ module Freeclimb
268
265
  # @param [Object] email Value to be assigned
269
266
  def email=(email)
270
267
  if email.nil?
271
- fail ArgumentError, 'email cannot be nil'
268
+ fail ArgumentError, "email cannot be nil"
272
269
  end
273
270
 
274
271
  if email.to_s.length > 100
@@ -290,26 +287,26 @@ module Freeclimb
290
287
 
291
288
  # Checks equality by comparing each attribute.
292
289
  # @param [Object] Object to be compared
293
- def ==(o)
294
- return true if self.equal?(o)
295
- self.class == o.class &&
296
- account_id == o.account_id &&
297
- brand_id == o.brand_id &&
298
- first_name == o.first_name &&
299
- last_name == o.last_name &&
300
- display_name == o.display_name &&
301
- company_name == o.company_name &&
302
- phone == o.phone &&
303
- email == o.email &&
304
- website == o.website &&
305
- optional_attributes == o.optional_attributes &&
306
- evp_vetting_score == o.evp_vetting_score
290
+ def ==(other)
291
+ return true if equal?(other)
292
+ self.class == other.class &&
293
+ account_id == other.account_id &&
294
+ brand_id == other.brand_id &&
295
+ first_name == other.first_name &&
296
+ last_name == other.last_name &&
297
+ display_name == other.display_name &&
298
+ company_name == other.company_name &&
299
+ phone == other.phone &&
300
+ email == other.email &&
301
+ website == other.website &&
302
+ optional_attributes == other.optional_attributes &&
303
+ evp_vetting_score == other.evp_vetting_score
307
304
  end
308
305
 
309
306
  # @see the `==` method
310
307
  # @param [Object] Object to be compared
311
- def eql?(o)
312
- self == o
308
+ def eql?(other)
309
+ self == other
313
310
  end
314
311
 
315
312
  # Calculates hash code according to all attributes.
@@ -332,15 +329,15 @@ module Freeclimb
332
329
  return nil unless attributes.is_a?(Hash)
333
330
  self.class.openapi_types.each_pair do |key, type|
334
331
  if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
335
- self.send("#{key}=", nil)
332
+ send(:"#{key}=", nil)
336
333
  elsif type =~ /\AArray<(.*)>/i
337
334
  # check to ensure the input is an array given that the attribute
338
335
  # is documented as an array but the input is not
339
336
  if attributes[self.class.attribute_map[key]].is_a?(Array)
340
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
337
+ send(:"#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
341
338
  end
342
339
  elsif !attributes[self.class.attribute_map[key]].nil?
343
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
340
+ send(:"#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
344
341
  end
345
342
  end
346
343
 
@@ -407,7 +404,7 @@ module Freeclimb
407
404
  def to_hash
408
405
  hash = {}
409
406
  self.class.attribute_map.each_pair do |attr, param|
410
- value = self.send(attr)
407
+ value = send(attr)
411
408
  if value.nil?
412
409
  is_nullable = self.class.openapi_nullable.include?(attr)
413
410
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
@@ -1,17 +1,15 @@
1
- =begin
2
- #FreeClimb API
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
3
10
 
4
- #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: support@freeclimb.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.9.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
11
+ require "date"
12
+ require "time"
15
13
 
16
14
  module Freeclimb
17
15
  class SMSTenDLCPartnerCampaignStatus
@@ -29,7 +27,7 @@ module Freeclimb
29
27
  # @param [String] The enum value in the form of the string
30
28
  # @return [String] The enum value
31
29
  def build_from_hash(value)
32
- constantValues = SMSTenDLCPartnerCampaignStatus.constants.select { |c| SMSTenDLCPartnerCampaignStatus::const_get(c) == value }
30
+ constantValues = SMSTenDLCPartnerCampaignStatus.constants.select { |c| SMSTenDLCPartnerCampaignStatus.const_get(c) == value }
33
31
  raise "Invalid ENUM value #{value} for class #SMSTenDLCPartnerCampaignStatus" if constantValues.empty?
34
32
  value
35
33
  end
@@ -1,17 +1,15 @@
1
- =begin
2
- #FreeClimb API
3
-
4
- #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: support@freeclimb.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.9.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "time"
15
13
 
16
14
  module Freeclimb
17
15
  class SMSTenDLCPartnerCampaignsListResult
@@ -41,14 +39,14 @@ module Freeclimb
41
39
  # Attribute mapping from ruby-style variable name to JSON key.
42
40
  def self.attribute_map
43
41
  {
44
- :'total' => :'total',
45
- :'start' => :'start',
46
- :'_end' => :'end',
47
- :'page' => :'page',
48
- :'num_pages' => :'numPages',
49
- :'page_size' => :'pageSize',
50
- :'next_page_uri' => :'nextPageUri',
51
- :'partner_campaigns' => :'partnerCampaigns'
42
+ total: :total,
43
+ start: :start,
44
+ _end: :end,
45
+ page: :page,
46
+ num_pages: :numPages,
47
+ page_size: :pageSize,
48
+ next_page_uri: :nextPageUri,
49
+ partner_campaigns: :partnerCampaigns
52
50
  }
53
51
  end
54
52
 
@@ -60,83 +58,83 @@ module Freeclimb
60
58
  # Attribute type mapping.
61
59
  def self.openapi_types
62
60
  {
63
- :'total' => :'Integer',
64
- :'start' => :'Integer',
65
- :'_end' => :'Integer',
66
- :'page' => :'Integer',
67
- :'num_pages' => :'Integer',
68
- :'page_size' => :'Integer',
69
- :'next_page_uri' => :'String',
70
- :'partner_campaigns' => :'Array<SMSTenDLCPartnerCampaign>'
61
+ total: :Integer,
62
+ start: :Integer,
63
+ _end: :Integer,
64
+ page: :Integer,
65
+ num_pages: :Integer,
66
+ page_size: :Integer,
67
+ next_page_uri: :String,
68
+ partner_campaigns: :"Array<SMSTenDLCPartnerCampaign>"
71
69
  }
72
70
  end
73
71
 
74
72
  # List of attributes with nullable: true
75
73
  def self.openapi_nullable
76
74
  Set.new([
77
- :'total',
78
- :'start',
79
- :'_end',
80
- :'page',
81
- :'num_pages',
82
- :'page_size',
83
- :'next_page_uri',
84
- :'partner_campaigns'
75
+ :total,
76
+ :start,
77
+ :_end,
78
+ :page,
79
+ :num_pages,
80
+ :page_size,
81
+ :next_page_uri,
82
+ :partner_campaigns
85
83
  ])
86
84
  end
87
85
 
88
86
  # List of class defined in allOf (OpenAPI v3)
89
87
  def self.openapi_all_of
90
88
  [
91
- :'PaginationModel'
89
+ :PaginationModel
92
90
  ]
93
91
  end
94
92
 
95
93
  # Initializes the object
96
94
  # @param [Hash] attributes Model attributes in the form of hash
97
95
  def initialize(attributes = {})
98
- if (!attributes.is_a?(Hash))
96
+ if !attributes.is_a?(Hash)
99
97
  fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTenDLCPartnerCampaignsListResult` initialize method"
100
98
  end
101
99
 
102
100
  # check to see if the attribute exists and convert string to symbol for hash key
103
101
  attributes = attributes.each_with_object({}) { |(k, v), h|
104
- if (!self.class.attribute_map.key?(k.to_sym))
102
+ if !self.class.attribute_map.key?(k.to_sym)
105
103
  fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTenDLCPartnerCampaignsListResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
106
104
  end
107
105
  h[k.to_sym] = v
108
106
  }
109
107
 
110
- if attributes.key?(:'total')
111
- self.total = attributes[:'total']
108
+ if attributes.key?(:total)
109
+ self.total = attributes[:total]
112
110
  end
113
111
 
114
- if attributes.key?(:'start')
115
- self.start = attributes[:'start']
112
+ if attributes.key?(:start)
113
+ self.start = attributes[:start]
116
114
  end
117
115
 
118
- if attributes.key?(:'_end')
119
- self._end = attributes[:'_end']
116
+ if attributes.key?(:_end)
117
+ self._end = attributes[:_end]
120
118
  end
121
119
 
122
- if attributes.key?(:'page')
123
- self.page = attributes[:'page']
120
+ if attributes.key?(:page)
121
+ self.page = attributes[:page]
124
122
  end
125
123
 
126
- if attributes.key?(:'num_pages')
127
- self.num_pages = attributes[:'num_pages']
124
+ if attributes.key?(:num_pages)
125
+ self.num_pages = attributes[:num_pages]
128
126
  end
129
127
 
130
- if attributes.key?(:'page_size')
131
- self.page_size = attributes[:'page_size']
128
+ if attributes.key?(:page_size)
129
+ self.page_size = attributes[:page_size]
132
130
  end
133
131
 
134
- if attributes.key?(:'next_page_uri')
135
- self.next_page_uri = attributes[:'next_page_uri']
132
+ if attributes.key?(:next_page_uri)
133
+ self.next_page_uri = attributes[:next_page_uri]
136
134
  end
137
135
 
138
- if attributes.key?(:'partner_campaigns')
139
- if (value = attributes[:'partner_campaigns']).is_a?(Array)
136
+ if attributes.key?(:partner_campaigns)
137
+ if (value = attributes[:partner_campaigns]).is_a?(Array)
140
138
  self.partner_campaigns = value
141
139
  end
142
140
  end
@@ -145,40 +143,38 @@ module Freeclimb
145
143
  # Show invalid properties with the reasons. Usually used together with valid?
146
144
  # @return Array for valid properties with the reasons
147
145
  def list_invalid_properties
148
- invalid_properties = Array.new
149
- invalid_properties
146
+ []
150
147
  end
151
148
 
152
149
  # Check to see if the all the properties in the model are valid
153
150
  # @return true if the model is valid
154
151
  def valid?
155
-
156
152
  if @total.nil?
157
153
  false
158
154
  else
159
- list_invalid_properties.length() == 0
155
+ list_invalid_properties.length == 0
160
156
  end
161
157
  end
162
158
 
163
159
  # Checks equality by comparing each attribute.
164
160
  # @param [Object] Object to be compared
165
- def ==(o)
166
- return true if self.equal?(o)
167
- self.class == o.class &&
168
- total == o.total &&
169
- start == o.start &&
170
- _end == o._end &&
171
- page == o.page &&
172
- num_pages == o.num_pages &&
173
- page_size == o.page_size &&
174
- next_page_uri == o.next_page_uri &&
175
- partner_campaigns == o.partner_campaigns
161
+ def ==(other)
162
+ return true if equal?(other)
163
+ self.class == other.class &&
164
+ total == other.total &&
165
+ start == other.start &&
166
+ _end == other._end &&
167
+ page == other.page &&
168
+ num_pages == other.num_pages &&
169
+ page_size == other.page_size &&
170
+ next_page_uri == other.next_page_uri &&
171
+ partner_campaigns == other.partner_campaigns
176
172
  end
177
173
 
178
174
  # @see the `==` method
179
175
  # @param [Object] Object to be compared
180
- def eql?(o)
181
- self == o
176
+ def eql?(other)
177
+ self == other
182
178
  end
183
179
 
184
180
  # Calculates hash code according to all attributes.
@@ -201,15 +197,15 @@ module Freeclimb
201
197
  return nil unless attributes.is_a?(Hash)
202
198
  self.class.openapi_types.each_pair do |key, type|
203
199
  if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
204
- self.send("#{key}=", nil)
200
+ send(:"#{key}=", nil)
205
201
  elsif type =~ /\AArray<(.*)>/i
206
202
  # check to ensure the input is an array given that the attribute
207
203
  # is documented as an array but the input is not
208
204
  if attributes[self.class.attribute_map[key]].is_a?(Array)
209
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
205
+ send(:"#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
210
206
  end
211
207
  elsif !attributes[self.class.attribute_map[key]].nil?
212
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
208
+ send(:"#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
213
209
  end
214
210
  end
215
211
 
@@ -276,7 +272,7 @@ module Freeclimb
276
272
  def to_hash
277
273
  hash = {}
278
274
  self.class.attribute_map.each_pair do |attr, param|
279
- value = self.send(attr)
275
+ value = send(attr)
280
276
  if value.nil?
281
277
  is_nullable = self.class.openapi_nullable.include?(attr)
282
278
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))