freeclimb 3.0.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (296) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/Gemfile +4 -2
  4. data/Gemfile.lock +38 -19
  5. data/README.md +37 -35
  6. data/docs/AccountRequest.md +9 -8
  7. data/docs/AccountResult.md +27 -26
  8. data/docs/AccountResultAllOf.md +19 -18
  9. data/docs/AddToConference.md +25 -24
  10. data/docs/AddToConferenceAllOf.md +25 -24
  11. data/docs/ApplicationList.md +21 -20
  12. data/docs/ApplicationListAllOf.md +7 -6
  13. data/docs/ApplicationRequest.md +19 -18
  14. data/docs/ApplicationResult.md +31 -30
  15. data/docs/ApplicationResultAllOf.md +23 -22
  16. data/docs/AvailableNumber.md +17 -16
  17. data/docs/AvailableNumberList.md +21 -20
  18. data/docs/AvailableNumberListAllOf.md +7 -6
  19. data/docs/BuyIncomingNumberRequest.md +11 -10
  20. data/docs/CallList.md +21 -20
  21. data/docs/CallListAllOf.md +7 -6
  22. data/docs/CallResult.md +43 -44
  23. data/docs/CallResultAllOf.md +35 -36
  24. data/docs/Capabilities.md +26 -0
  25. data/docs/ConferenceList.md +21 -20
  26. data/docs/ConferenceListAllOf.md +7 -6
  27. data/docs/ConferenceParticipantList.md +21 -20
  28. data/docs/ConferenceParticipantListAllOf.md +7 -6
  29. data/docs/ConferenceParticipantResult.md +25 -24
  30. data/docs/ConferenceParticipantResultAllOf.md +17 -16
  31. data/docs/ConferenceResult.md +33 -32
  32. data/docs/ConferenceResultAllOf.md +25 -24
  33. data/docs/CreateConference.md +17 -16
  34. data/docs/CreateConferenceAllOf.md +17 -16
  35. data/docs/CreateConferenceRequest.md +15 -14
  36. data/docs/DefaultApi.md +1629 -629
  37. data/docs/Dequeue.md +3 -4
  38. data/docs/Enqueue.md +13 -12
  39. data/docs/EnqueueAllOf.md +13 -12
  40. data/docs/FilterLogsRequest.md +7 -6
  41. data/docs/GetDigits.md +23 -22
  42. data/docs/GetDigitsAllOf.md +23 -22
  43. data/docs/GetSpeech.md +31 -30
  44. data/docs/GetSpeechAllOf.md +31 -30
  45. data/docs/Hangup.md +7 -6
  46. data/docs/HangupAllOf.md +7 -6
  47. data/docs/IncomingNumberList.md +21 -20
  48. data/docs/IncomingNumberListAllOf.md +7 -6
  49. data/docs/IncomingNumberRequest.md +9 -8
  50. data/docs/IncomingNumberResult.md +33 -30
  51. data/docs/IncomingNumberResultAllOf.md +25 -22
  52. data/docs/LogList.md +21 -20
  53. data/docs/LogListAllOf.md +7 -6
  54. data/docs/LogResult.md +19 -18
  55. data/docs/MakeCallRequest.md +25 -24
  56. data/docs/MessageRequest.md +23 -22
  57. data/docs/MessageRequestAllOf.md +15 -14
  58. data/docs/MessageResult.md +29 -28
  59. data/docs/MessageResultAllOf.md +21 -20
  60. data/docs/MessagesList.md +21 -20
  61. data/docs/MessagesListAllOf.md +7 -6
  62. data/docs/MutableResourceModel.md +13 -12
  63. data/docs/OutDial.md +25 -24
  64. data/docs/OutDialAllOf.md +25 -24
  65. data/docs/PaginationModel.md +19 -18
  66. data/docs/Pause.md +7 -6
  67. data/docs/PauseAllOf.md +7 -6
  68. data/docs/PerclCommand.md +7 -6
  69. data/docs/PerclScript.md +7 -6
  70. data/docs/Play.md +13 -12
  71. data/docs/PlayAllOf.md +13 -12
  72. data/docs/PlayEarlyMedia.md +7 -6
  73. data/docs/PlayEarlyMediaAllOf.md +7 -6
  74. data/docs/QueueList.md +21 -20
  75. data/docs/QueueListAllOf.md +7 -6
  76. data/docs/QueueMember.md +15 -14
  77. data/docs/QueueMemberList.md +21 -20
  78. data/docs/QueueMemberListAllOf.md +7 -6
  79. data/docs/QueueRequest.md +9 -8
  80. data/docs/QueueResult.md +27 -26
  81. data/docs/QueueResultAllOf.md +19 -18
  82. data/docs/RecordUtterance.md +19 -18
  83. data/docs/RecordUtteranceAllOf.md +19 -18
  84. data/docs/RecordingList.md +21 -20
  85. data/docs/RecordingListAllOf.md +7 -6
  86. data/docs/RecordingResult.md +23 -22
  87. data/docs/RecordingResultAllOf.md +15 -14
  88. data/docs/Redirect.md +7 -6
  89. data/docs/RedirectAllOf.md +7 -6
  90. data/docs/Reject.md +7 -6
  91. data/docs/RejectAllOf.md +7 -6
  92. data/docs/RemoveFromConference.md +7 -6
  93. data/docs/RemoveFromConferenceAllOf.md +7 -6
  94. data/docs/Say.md +15 -14
  95. data/docs/SayAllOf.md +15 -14
  96. data/docs/SendDigits.md +11 -10
  97. data/docs/SendDigitsAllOf.md +11 -10
  98. data/docs/SetListen.md +9 -8
  99. data/docs/SetListenAllOf.md +9 -8
  100. data/docs/SetTalk.md +9 -8
  101. data/docs/SetTalkAllOf.md +9 -8
  102. data/docs/Sms.md +13 -12
  103. data/docs/SmsAllOf.md +13 -12
  104. data/docs/StartRecordCall.md +3 -4
  105. data/docs/TerminateConference.md +7 -6
  106. data/docs/TerminateConferenceAllOf.md +7 -6
  107. data/docs/UpdateCallRequest.md +7 -6
  108. data/docs/UpdateConferenceParticipantRequest.md +9 -8
  109. data/docs/UpdateConferenceRequest.md +11 -10
  110. data/freeclimb.gemspec +3 -4
  111. data/lib/freeclimb/api/default_api.rb +449 -263
  112. data/lib/freeclimb/api_client.rb +55 -51
  113. data/lib/freeclimb/api_error.rb +2 -2
  114. data/lib/freeclimb/configuration.rb +41 -11
  115. data/lib/freeclimb/models/account_request.rb +20 -8
  116. data/lib/freeclimb/models/account_result.rb +39 -8
  117. data/lib/freeclimb/models/account_result_all_of.rb +39 -8
  118. data/lib/freeclimb/models/add_to_conference.rb +21 -8
  119. data/lib/freeclimb/models/add_to_conference_all_of.rb +20 -8
  120. data/lib/freeclimb/models/application_list.rb +28 -8
  121. data/lib/freeclimb/models/application_list_all_of.rb +21 -8
  122. data/lib/freeclimb/models/application_request.rb +20 -8
  123. data/lib/freeclimb/models/application_result.rb +29 -8
  124. data/lib/freeclimb/models/application_result_all_of.rb +29 -8
  125. data/lib/freeclimb/models/available_number.rb +35 -19
  126. data/lib/freeclimb/models/available_number_list.rb +28 -8
  127. data/lib/freeclimb/models/available_number_list_all_of.rb +21 -8
  128. data/lib/freeclimb/models/buy_incoming_number_request.rb +20 -8
  129. data/lib/freeclimb/models/call_list.rb +28 -8
  130. data/lib/freeclimb/models/call_list_all_of.rb +21 -8
  131. data/lib/freeclimb/models/call_result.rb +36 -21
  132. data/lib/freeclimb/models/call_result_all_of.rb +36 -21
  133. data/lib/freeclimb/models/capabilities.rb +265 -0
  134. data/lib/freeclimb/models/conference_list.rb +28 -8
  135. data/lib/freeclimb/models/conference_list_all_of.rb +21 -8
  136. data/lib/freeclimb/models/conference_participant_list.rb +28 -8
  137. data/lib/freeclimb/models/conference_participant_list_all_of.rb +21 -8
  138. data/lib/freeclimb/models/conference_participant_result.rb +26 -8
  139. data/lib/freeclimb/models/conference_participant_result_all_of.rb +26 -8
  140. data/lib/freeclimb/models/conference_result.rb +30 -8
  141. data/lib/freeclimb/models/conference_result_all_of.rb +30 -8
  142. data/lib/freeclimb/models/create_conference.rb +21 -8
  143. data/lib/freeclimb/models/create_conference_all_of.rb +20 -8
  144. data/lib/freeclimb/models/create_conference_request.rb +20 -8
  145. data/lib/freeclimb/models/dequeue.rb +21 -8
  146. data/lib/freeclimb/models/enqueue.rb +21 -8
  147. data/lib/freeclimb/models/enqueue_all_of.rb +20 -8
  148. data/lib/freeclimb/models/filter_logs_request.rb +20 -8
  149. data/lib/freeclimb/models/get_digits.rb +21 -8
  150. data/lib/freeclimb/models/get_digits_all_of.rb +20 -8
  151. data/lib/freeclimb/models/get_speech.rb +21 -8
  152. data/lib/freeclimb/models/get_speech_all_of.rb +20 -8
  153. data/lib/freeclimb/models/hangup.rb +21 -8
  154. data/lib/freeclimb/models/hangup_all_of.rb +20 -8
  155. data/lib/freeclimb/models/incoming_number_list.rb +28 -8
  156. data/lib/freeclimb/models/incoming_number_list_all_of.rb +21 -8
  157. data/lib/freeclimb/models/incoming_number_request.rb +20 -8
  158. data/lib/freeclimb/models/incoming_number_result.rb +39 -9
  159. data/lib/freeclimb/models/incoming_number_result_all_of.rb +39 -9
  160. data/lib/freeclimb/models/log_list.rb +28 -8
  161. data/lib/freeclimb/models/log_list_all_of.rb +21 -8
  162. data/lib/freeclimb/models/log_result.rb +27 -8
  163. data/lib/freeclimb/models/make_call_request.rb +22 -8
  164. data/lib/freeclimb/models/message_request.rb +20 -8
  165. data/lib/freeclimb/models/message_request_all_of.rb +20 -8
  166. data/lib/freeclimb/models/message_result.rb +28 -8
  167. data/lib/freeclimb/models/message_result_all_of.rb +28 -8
  168. data/lib/freeclimb/models/messages_list.rb +28 -8
  169. data/lib/freeclimb/models/messages_list_all_of.rb +21 -8
  170. data/lib/freeclimb/models/mutable_resource_model.rb +20 -8
  171. data/lib/freeclimb/models/out_dial.rb +21 -8
  172. data/lib/freeclimb/models/out_dial_all_of.rb +20 -8
  173. data/lib/freeclimb/models/pagination_model.rb +27 -8
  174. data/lib/freeclimb/models/pause.rb +21 -8
  175. data/lib/freeclimb/models/pause_all_of.rb +20 -8
  176. data/lib/freeclimb/models/percl_command.rb +39 -8
  177. data/lib/freeclimb/models/percl_script.rb +24 -8
  178. data/lib/freeclimb/models/play.rb +21 -8
  179. data/lib/freeclimb/models/play_all_of.rb +20 -8
  180. data/lib/freeclimb/models/play_early_media.rb +21 -8
  181. data/lib/freeclimb/models/play_early_media_all_of.rb +20 -8
  182. data/lib/freeclimb/models/queue_list.rb +28 -8
  183. data/lib/freeclimb/models/queue_list_all_of.rb +21 -8
  184. data/lib/freeclimb/models/queue_member.rb +25 -8
  185. data/lib/freeclimb/models/queue_member_list.rb +28 -8
  186. data/lib/freeclimb/models/queue_member_list_all_of.rb +21 -8
  187. data/lib/freeclimb/models/queue_request.rb +22 -8
  188. data/lib/freeclimb/models/queue_result.rb +27 -8
  189. data/lib/freeclimb/models/queue_result_all_of.rb +27 -8
  190. data/lib/freeclimb/models/record_utterance.rb +21 -8
  191. data/lib/freeclimb/models/record_utterance_all_of.rb +20 -8
  192. data/lib/freeclimb/models/recording_list.rb +28 -8
  193. data/lib/freeclimb/models/recording_list_all_of.rb +21 -8
  194. data/lib/freeclimb/models/recording_result.rb +25 -8
  195. data/lib/freeclimb/models/recording_result_all_of.rb +25 -8
  196. data/lib/freeclimb/models/redirect.rb +21 -8
  197. data/lib/freeclimb/models/redirect_all_of.rb +20 -8
  198. data/lib/freeclimb/models/reject.rb +21 -8
  199. data/lib/freeclimb/models/reject_all_of.rb +20 -8
  200. data/lib/freeclimb/models/remove_from_conference.rb +21 -8
  201. data/lib/freeclimb/models/remove_from_conference_all_of.rb +20 -8
  202. data/lib/freeclimb/models/say.rb +21 -8
  203. data/lib/freeclimb/models/say_all_of.rb +20 -8
  204. data/lib/freeclimb/models/send_digits.rb +21 -8
  205. data/lib/freeclimb/models/send_digits_all_of.rb +20 -8
  206. data/lib/freeclimb/models/set_listen.rb +21 -8
  207. data/lib/freeclimb/models/set_listen_all_of.rb +20 -8
  208. data/lib/freeclimb/models/set_talk.rb +21 -8
  209. data/lib/freeclimb/models/set_talk_all_of.rb +20 -8
  210. data/lib/freeclimb/models/sms.rb +21 -8
  211. data/lib/freeclimb/models/sms_all_of.rb +20 -8
  212. data/lib/freeclimb/models/start_record_call.rb +21 -8
  213. data/lib/freeclimb/models/terminate_conference.rb +21 -8
  214. data/lib/freeclimb/models/terminate_conference_all_of.rb +20 -8
  215. data/lib/freeclimb/models/update_call_request.rb +20 -8
  216. data/lib/freeclimb/models/update_conference_participant_request.rb +20 -8
  217. data/lib/freeclimb/models/update_conference_request.rb +20 -8
  218. data/lib/freeclimb/version.rb +3 -3
  219. data/lib/freeclimb.rb +25 -53
  220. data/spec/api/default_api_spec.rb +1095 -668
  221. data/spec/api_client_spec.rb +7 -7
  222. data/spec/configuration_spec.rb +13 -5
  223. data/spec/factories.rb +80 -0
  224. data/spec/models/account_request_spec.rb +20 -13
  225. data/spec/models/account_result_spec.rb +81 -12
  226. data/spec/models/add_to_conference_spec.rb +7 -14
  227. data/spec/models/application_list_spec.rb +55 -12
  228. data/spec/models/application_request_spec.rb +49 -12
  229. data/spec/models/application_result_spec.rb +85 -12
  230. data/spec/models/available_number_list_spec.rb +55 -13
  231. data/spec/models/available_number_spec.rb +43 -12
  232. data/spec/models/buy_incoming_number_request_spec.rb +25 -12
  233. data/spec/models/call_list_spec.rb +55 -13
  234. data/spec/models/call_result_spec.rb +124 -12
  235. data/spec/models/capabilities_spec.rb +58 -0
  236. data/spec/models/conference_list_spec.rb +55 -12
  237. data/spec/models/conference_participant_list_spec.rb +55 -12
  238. data/spec/models/conference_participant_result_spec.rb +67 -12
  239. data/spec/models/conference_result_spec.rb +99 -13
  240. data/spec/models/create_conference_request_spec.rb +41 -13
  241. data/spec/models/create_conference_spec.rb +7 -14
  242. data/spec/models/dequeue_spec.rb +7 -14
  243. data/spec/models/enqueue_spec.rb +7 -14
  244. data/spec/models/filter_logs_request_spec.rb +15 -14
  245. data/spec/models/get_digits_spec.rb +13 -14
  246. data/spec/models/get_speech_spec.rb +8 -15
  247. data/spec/models/hangup_spec.rb +5 -12
  248. data/spec/models/incoming_number_list_spec.rb +55 -13
  249. data/spec/models/incoming_number_request_spec.rb +20 -13
  250. data/spec/models/incoming_number_result_spec.rb +91 -13
  251. data/spec/models/log_list_spec.rb +55 -12
  252. data/spec/models/log_result_spec.rb +53 -12
  253. data/spec/models/make_call_request_spec.rb +67 -12
  254. data/spec/models/message_request_spec.rb +61 -13
  255. data/spec/models/message_result_spec.rb +83 -12
  256. data/spec/models/messages_list_spec.rb +55 -12
  257. data/spec/models/mutable_resource_model_spec.rb +31 -13
  258. data/spec/models/out_dial_spec.rb +13 -14
  259. data/spec/models/pagination_model_spec.rb +49 -12
  260. data/spec/models/pause_spec.rb +7 -14
  261. data/spec/models/percl_command_spec.rb +7 -14
  262. data/spec/models/percl_script_spec.rb +7 -14
  263. data/spec/models/play_early_media_spec.rb +7 -14
  264. data/spec/models/play_spec.rb +13 -14
  265. data/spec/models/queue_list_spec.rb +54 -12
  266. data/spec/models/queue_member_list_spec.rb +55 -12
  267. data/spec/models/queue_member_spec.rb +37 -13
  268. data/spec/models/queue_request_spec.rb +20 -14
  269. data/spec/models/queue_result_spec.rb +73 -12
  270. data/spec/models/record_utterance_spec.rb +13 -14
  271. data/spec/models/recording_list_spec.rb +55 -12
  272. data/spec/models/recording_result_spec.rb +61 -12
  273. data/spec/models/redirect_spec.rb +7 -14
  274. data/spec/models/reject_spec.rb +5 -12
  275. data/spec/models/remove_from_conference_spec.rb +7 -14
  276. data/spec/models/say_spec.rb +8 -15
  277. data/spec/models/send_digits_spec.rb +13 -14
  278. data/spec/models/set_listen_spec.rb +7 -14
  279. data/spec/models/set_talk_spec.rb +7 -14
  280. data/spec/models/sms_spec.rb +7 -14
  281. data/spec/models/start_record_call_spec.rb +7 -14
  282. data/spec/models/terminate_conference_spec.rb +7 -14
  283. data/spec/models/update_call_request_spec.rb +19 -14
  284. data/spec/models/update_conference_participant_request_spec.rb +20 -13
  285. data/spec/models/update_conference_request_spec.rb +29 -12
  286. data/spec/quickstart_spec.rb +10 -0
  287. data/spec/spec_helper.rb +62 -7
  288. metadata +17 -38
  289. data/freeclimb-2.0.3.gem +0 -0
  290. data/freeclimb-2.1.0.gem +0 -0
  291. data/freeclimb-2.1.1.gem +0 -0
  292. data/freeclimb-2.1.2.gem +0 -0
  293. data/freeclimb-2.2.0.gem +0 -0
  294. data/freeclimb-3.0.0.gem +0 -0
  295. data/lib/freeclimb/utils.rb +0 -34
  296. data/spec/api/web_mocks.rb +0 -473
@@ -4,16 +4,19 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
17
+ # An individual command used in a PerCLScript.
16
18
  class PerclCommand
19
+ # Name of PerCL Command (this is automatically derived from mapping configuration and should not be manually supplied in any arguments)
17
20
  attr_accessor :command
18
21
 
19
22
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -23,6 +26,11 @@ module Freeclimb
23
26
  }
24
27
  end
25
28
 
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
26
34
  # Attribute type mapping.
27
35
  def self.openapi_types
28
36
  {
@@ -107,7 +115,9 @@ module Freeclimb
107
115
  def build_from_hash(attributes)
108
116
  return nil unless attributes.is_a?(Hash)
109
117
  self.class.openapi_types.each_pair do |key, type|
110
- if type =~ /\AArray<(.*)>/i
118
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
119
+ self.send("#{key}=", nil)
120
+ elsif type =~ /\AArray<(.*)>/i
111
121
  # check to ensure the input is an array given that the attribute
112
122
  # is documented as an array but the input is not
113
123
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -115,7 +125,7 @@ module Freeclimb
115
125
  end
116
126
  elsif !attributes[self.class.attribute_map[key]].nil?
117
127
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
118
- end # or else data not found in attributes(hash), not an issue as the data can be optional
128
+ end
119
129
  end
120
130
 
121
131
  self
@@ -127,8 +137,8 @@ module Freeclimb
127
137
  # @return [Object] Deserialized data
128
138
  def _deserialize(type, value)
129
139
  case type.to_sym
130
- when :DateTime
131
- DateTime.parse(value)
140
+ when :Time
141
+ Time.parse(value)
132
142
  when :Date
133
143
  Date.parse(value)
134
144
  when :String
@@ -158,7 +168,9 @@ module Freeclimb
158
168
  end
159
169
  end
160
170
  else # model
161
- Freeclimb.const_get(type).build_from_hash(value)
171
+ # models (e.g. Pet) or oneOf
172
+ klass = Freeclimb.const_get(type)
173
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
162
174
  end
163
175
  end
164
176
 
@@ -184,7 +196,7 @@ module Freeclimb
184
196
  is_nullable = self.class.openapi_nullable.include?(attr)
185
197
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
186
198
  end
187
-
199
+
188
200
  hash[param] = _to_hash(value)
189
201
  end
190
202
  hash
@@ -207,5 +219,24 @@ module Freeclimb
207
219
  value
208
220
  end
209
221
  end
222
+ def to_percl_hash()
223
+ command = self.command
224
+ attributes = self.class.openapi_types
225
+ percl_hash = attributes.each_with_object({}) do |(attr, _type), hash|
226
+ value = self.send(attr)
227
+ if value.is_a?(Array)
228
+ hash[attr] = value.compact.map { |v| v.is_a?(PerclCommand) ? v.to_percl_hash() : v }
229
+ elsif value.is_a?(PerclCommand)
230
+ hash[attr] = value.to_percl_hash()
231
+ elsif !value.nil?
232
+ hash[attr] = value
233
+ end
234
+ end
235
+ result = {}
236
+ result[command] = percl_hash
237
+ return result
238
+ end
239
+
210
240
  end
241
+
211
242
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  # A PerCL script to be returned to the FreeClimb servers in FreeClimb applications
@@ -25,6 +26,11 @@ module Freeclimb
25
26
  }
26
27
  end
27
28
 
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
28
34
  # Attribute type mapping.
29
35
  def self.openapi_types
30
36
  {
@@ -106,7 +112,9 @@ module Freeclimb
106
112
  def build_from_hash(attributes)
107
113
  return nil unless attributes.is_a?(Hash)
108
114
  self.class.openapi_types.each_pair do |key, type|
109
- if type =~ /\AArray<(.*)>/i
115
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
116
+ self.send("#{key}=", nil)
117
+ elsif type =~ /\AArray<(.*)>/i
110
118
  # check to ensure the input is an array given that the attribute
111
119
  # is documented as an array but the input is not
112
120
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -114,7 +122,7 @@ module Freeclimb
114
122
  end
115
123
  elsif !attributes[self.class.attribute_map[key]].nil?
116
124
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
- end # or else data not found in attributes(hash), not an issue as the data can be optional
125
+ end
118
126
  end
119
127
 
120
128
  self
@@ -126,8 +134,8 @@ module Freeclimb
126
134
  # @return [Object] Deserialized data
127
135
  def _deserialize(type, value)
128
136
  case type.to_sym
129
- when :DateTime
130
- DateTime.parse(value)
137
+ when :Time
138
+ Time.parse(value)
131
139
  when :Date
132
140
  Date.parse(value)
133
141
  when :String
@@ -157,7 +165,9 @@ module Freeclimb
157
165
  end
158
166
  end
159
167
  else # model
160
- Freeclimb.const_get(type).build_from_hash(value)
168
+ # models (e.g. Pet) or oneOf
169
+ klass = Freeclimb.const_get(type)
170
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
161
171
  end
162
172
  end
163
173
 
@@ -183,7 +193,7 @@ module Freeclimb
183
193
  is_nullable = self.class.openapi_nullable.include?(attr)
184
194
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
185
195
  end
186
-
196
+
187
197
  hash[param] = _to_hash(value)
188
198
  end
189
199
  hash
@@ -206,5 +216,11 @@ module Freeclimb
206
216
  value
207
217
  end
208
218
  end
219
+ def to_json()
220
+ commands = self.commands.map { |command| command.to_percl_hash }
221
+ commands.to_json
222
+ end
223
+
209
224
  end
225
+
210
226
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  # The `Play` command plays an audio file back to the caller. The audio file may be located at any location accessible via a URL. `Play` can exist as a stand-alone command or as a nested command. It does not allow barge-in unless nested within a `GetSpeech` command. The file will always be played to completion unless nested.
@@ -37,6 +38,11 @@ module Freeclimb
37
38
  }
38
39
  end
39
40
 
41
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
42
+ def self.acceptable_attributes
43
+ attribute_map.values.concat(superclass.acceptable_attributes)
44
+ end
45
+
40
46
  # Attribute type mapping.
41
47
  def self.openapi_types
42
48
  {
@@ -94,6 +100,7 @@ module Freeclimb
94
100
  if attributes.key?(:'privacy_mode')
95
101
  self.privacy_mode = attributes[:'privacy_mode']
96
102
  end
103
+ self.command = "Play"
97
104
  end
98
105
 
99
106
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -151,7 +158,9 @@ module Freeclimb
151
158
  return nil unless attributes.is_a?(Hash)
152
159
  super(attributes)
153
160
  self.class.openapi_types.each_pair do |key, type|
154
- if type =~ /\AArray<(.*)>/i
161
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
162
+ self.send("#{key}=", nil)
163
+ elsif type =~ /\AArray<(.*)>/i
155
164
  # check to ensure the input is an array given that the attribute
156
165
  # is documented as an array but the input is not
157
166
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -159,7 +168,7 @@ module Freeclimb
159
168
  end
160
169
  elsif !attributes[self.class.attribute_map[key]].nil?
161
170
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
- end # or else data not found in attributes(hash), not an issue as the data can be optional
171
+ end
163
172
  end
164
173
 
165
174
  self
@@ -171,8 +180,8 @@ module Freeclimb
171
180
  # @return [Object] Deserialized data
172
181
  def _deserialize(type, value)
173
182
  case type.to_sym
174
- when :DateTime
175
- DateTime.parse(value)
183
+ when :Time
184
+ Time.parse(value)
176
185
  when :Date
177
186
  Date.parse(value)
178
187
  when :String
@@ -202,7 +211,9 @@ module Freeclimb
202
211
  end
203
212
  end
204
213
  else # model
205
- Freeclimb.const_get(type).build_from_hash(value)
214
+ # models (e.g. Pet) or oneOf
215
+ klass = Freeclimb.const_get(type)
216
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
206
217
  end
207
218
  end
208
219
 
@@ -228,7 +239,7 @@ module Freeclimb
228
239
  is_nullable = self.class.openapi_nullable.include?(attr)
229
240
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
230
241
  end
231
-
242
+
232
243
  hash[param] = _to_hash(value)
233
244
  end
234
245
  hash
@@ -251,5 +262,7 @@ module Freeclimb
251
262
  value
252
263
  end
253
264
  end
265
+
254
266
  end
267
+
255
268
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class PlayAllOf
@@ -36,6 +37,11 @@ module Freeclimb
36
37
  }
37
38
  end
38
39
 
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
39
45
  # Attribute type mapping.
40
46
  def self.openapi_types
41
47
  {
@@ -138,7 +144,9 @@ module Freeclimb
138
144
  def build_from_hash(attributes)
139
145
  return nil unless attributes.is_a?(Hash)
140
146
  self.class.openapi_types.each_pair do |key, type|
141
- if type =~ /\AArray<(.*)>/i
147
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
148
+ self.send("#{key}=", nil)
149
+ elsif type =~ /\AArray<(.*)>/i
142
150
  # check to ensure the input is an array given that the attribute
143
151
  # is documented as an array but the input is not
144
152
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -146,7 +154,7 @@ module Freeclimb
146
154
  end
147
155
  elsif !attributes[self.class.attribute_map[key]].nil?
148
156
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
149
- end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
150
158
  end
151
159
 
152
160
  self
@@ -158,8 +166,8 @@ module Freeclimb
158
166
  # @return [Object] Deserialized data
159
167
  def _deserialize(type, value)
160
168
  case type.to_sym
161
- when :DateTime
162
- DateTime.parse(value)
169
+ when :Time
170
+ Time.parse(value)
163
171
  when :Date
164
172
  Date.parse(value)
165
173
  when :String
@@ -189,7 +197,9 @@ module Freeclimb
189
197
  end
190
198
  end
191
199
  else # model
192
- Freeclimb.const_get(type).build_from_hash(value)
200
+ # models (e.g. Pet) or oneOf
201
+ klass = Freeclimb.const_get(type)
202
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
193
203
  end
194
204
  end
195
205
 
@@ -215,7 +225,7 @@ module Freeclimb
215
225
  is_nullable = self.class.openapi_nullable.include?(attr)
216
226
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
217
227
  end
218
-
228
+
219
229
  hash[param] = _to_hash(value)
220
230
  end
221
231
  hash
@@ -238,5 +248,7 @@ module Freeclimb
238
248
  value
239
249
  end
240
250
  end
251
+
241
252
  end
253
+
242
254
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  # `PlayEarlyMedia` is relevant only when present as the very first command in the PerCL script returned for an incoming Call. In such cases, the command is executed before FreeClimb attempts to connect the call. The audio file it uses can be stored in any location that is accessible via URL.
@@ -25,6 +26,11 @@ module Freeclimb
25
26
  }
26
27
  end
27
28
 
29
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
30
+ def self.acceptable_attributes
31
+ attribute_map.values.concat(superclass.acceptable_attributes)
32
+ end
33
+
28
34
  # Attribute type mapping.
29
35
  def self.openapi_types
30
36
  {
@@ -67,6 +73,7 @@ module Freeclimb
67
73
  if attributes.key?(:'file')
68
74
  self.file = attributes[:'file']
69
75
  end
76
+ self.command = "PlayEarlyMedia"
70
77
  end
71
78
 
72
79
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -121,7 +128,9 @@ module Freeclimb
121
128
  return nil unless attributes.is_a?(Hash)
122
129
  super(attributes)
123
130
  self.class.openapi_types.each_pair do |key, type|
124
- if type =~ /\AArray<(.*)>/i
131
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
132
+ self.send("#{key}=", nil)
133
+ elsif type =~ /\AArray<(.*)>/i
125
134
  # check to ensure the input is an array given that the attribute
126
135
  # is documented as an array but the input is not
127
136
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -129,7 +138,7 @@ module Freeclimb
129
138
  end
130
139
  elsif !attributes[self.class.attribute_map[key]].nil?
131
140
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
132
- end # or else data not found in attributes(hash), not an issue as the data can be optional
141
+ end
133
142
  end
134
143
 
135
144
  self
@@ -141,8 +150,8 @@ module Freeclimb
141
150
  # @return [Object] Deserialized data
142
151
  def _deserialize(type, value)
143
152
  case type.to_sym
144
- when :DateTime
145
- DateTime.parse(value)
153
+ when :Time
154
+ Time.parse(value)
146
155
  when :Date
147
156
  Date.parse(value)
148
157
  when :String
@@ -172,7 +181,9 @@ module Freeclimb
172
181
  end
173
182
  end
174
183
  else # model
175
- Freeclimb.const_get(type).build_from_hash(value)
184
+ # models (e.g. Pet) or oneOf
185
+ klass = Freeclimb.const_get(type)
186
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
176
187
  end
177
188
  end
178
189
 
@@ -198,7 +209,7 @@ module Freeclimb
198
209
  is_nullable = self.class.openapi_nullable.include?(attr)
199
210
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
200
211
  end
201
-
212
+
202
213
  hash[param] = _to_hash(value)
203
214
  end
204
215
  hash
@@ -221,5 +232,7 @@ module Freeclimb
221
232
  value
222
233
  end
223
234
  end
235
+
224
236
  end
237
+
225
238
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class PlayEarlyMediaAllOf
@@ -24,6 +25,11 @@ module Freeclimb
24
25
  }
25
26
  end
26
27
 
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
27
33
  # Attribute type mapping.
28
34
  def self.openapi_types
29
35
  {
@@ -108,7 +114,9 @@ module Freeclimb
108
114
  def build_from_hash(attributes)
109
115
  return nil unless attributes.is_a?(Hash)
110
116
  self.class.openapi_types.each_pair do |key, type|
111
- if type =~ /\AArray<(.*)>/i
117
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
118
+ self.send("#{key}=", nil)
119
+ elsif type =~ /\AArray<(.*)>/i
112
120
  # check to ensure the input is an array given that the attribute
113
121
  # is documented as an array but the input is not
114
122
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -116,7 +124,7 @@ module Freeclimb
116
124
  end
117
125
  elsif !attributes[self.class.attribute_map[key]].nil?
118
126
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
119
- end # or else data not found in attributes(hash), not an issue as the data can be optional
127
+ end
120
128
  end
121
129
 
122
130
  self
@@ -128,8 +136,8 @@ module Freeclimb
128
136
  # @return [Object] Deserialized data
129
137
  def _deserialize(type, value)
130
138
  case type.to_sym
131
- when :DateTime
132
- DateTime.parse(value)
139
+ when :Time
140
+ Time.parse(value)
133
141
  when :Date
134
142
  Date.parse(value)
135
143
  when :String
@@ -159,7 +167,9 @@ module Freeclimb
159
167
  end
160
168
  end
161
169
  else # model
162
- Freeclimb.const_get(type).build_from_hash(value)
170
+ # models (e.g. Pet) or oneOf
171
+ klass = Freeclimb.const_get(type)
172
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
163
173
  end
164
174
  end
165
175
 
@@ -185,7 +195,7 @@ module Freeclimb
185
195
  is_nullable = self.class.openapi_nullable.include?(attr)
186
196
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
187
197
  end
188
-
198
+
189
199
  hash[param] = _to_hash(value)
190
200
  end
191
201
  hash
@@ -208,5 +218,7 @@ module Freeclimb
208
218
  value
209
219
  end
210
220
  end
221
+
211
222
  end
223
+
212
224
  end
@@ -4,13 +4,14 @@
4
4
  #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
-
7
+ Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module Freeclimb
16
17
  class QueueList
@@ -51,6 +52,11 @@ module Freeclimb
51
52
  }
52
53
  end
53
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
54
60
  # Attribute type mapping.
55
61
  def self.openapi_types
56
62
  {
@@ -68,6 +74,14 @@ module Freeclimb
68
74
  # List of attributes with nullable: true
69
75
  def self.openapi_nullable
70
76
  Set.new([
77
+ :'total',
78
+ :'start',
79
+ :'_end',
80
+ :'page',
81
+ :'num_pages',
82
+ :'page_size',
83
+ :'next_page_uri',
84
+ :'queues'
71
85
  ])
72
86
  end
73
87
 
@@ -182,7 +196,9 @@ module Freeclimb
182
196
  def build_from_hash(attributes)
183
197
  return nil unless attributes.is_a?(Hash)
184
198
  self.class.openapi_types.each_pair do |key, type|
185
- if type =~ /\AArray<(.*)>/i
199
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
200
+ self.send("#{key}=", nil)
201
+ elsif type =~ /\AArray<(.*)>/i
186
202
  # check to ensure the input is an array given that the attribute
187
203
  # is documented as an array but the input is not
188
204
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -190,7 +206,7 @@ module Freeclimb
190
206
  end
191
207
  elsif !attributes[self.class.attribute_map[key]].nil?
192
208
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
193
- end # or else data not found in attributes(hash), not an issue as the data can be optional
209
+ end
194
210
  end
195
211
 
196
212
  self
@@ -202,8 +218,8 @@ module Freeclimb
202
218
  # @return [Object] Deserialized data
203
219
  def _deserialize(type, value)
204
220
  case type.to_sym
205
- when :DateTime
206
- DateTime.parse(value)
221
+ when :Time
222
+ Time.parse(value)
207
223
  when :Date
208
224
  Date.parse(value)
209
225
  when :String
@@ -233,7 +249,9 @@ module Freeclimb
233
249
  end
234
250
  end
235
251
  else # model
236
- Freeclimb.const_get(type).build_from_hash(value)
252
+ # models (e.g. Pet) or oneOf
253
+ klass = Freeclimb.const_get(type)
254
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
237
255
  end
238
256
  end
239
257
 
@@ -259,7 +277,7 @@ module Freeclimb
259
277
  is_nullable = self.class.openapi_nullable.include?(attr)
260
278
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
261
279
  end
262
-
280
+
263
281
  hash[param] = _to_hash(value)
264
282
  end
265
283
  hash
@@ -282,5 +300,7 @@ module Freeclimb
282
300
  value
283
301
  end
284
302
  end
303
+
285
304
  end
305
+
286
306
  end