freeclimb 4.4.4 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3d184e3a414b40637aae3f456402764dc6dd5fc7c0229cc560592484ccf3c42
4
- data.tar.gz: 9bd698bdcde3ae0884b11cede080012c2f3d71a1a322d78fbf38ed0d34cd082f
3
+ metadata.gz: '049c6713b0d493afd15688755443a96d3f75146187de35bed8d84974582e683f'
4
+ data.tar.gz: 7e7c8ee7dc4806fe9039e4c291db8c41235a717333ce53c62783c3e19a6bb370
5
5
  SHA512:
6
- metadata.gz: 628694f4a73f5075284e424d551cd4992ee957960499fb4f515a5a7e351f48b82be9d517a255a886f3b177c4ed51c70076b1eb644cf680f5d4ae558b750951b8
7
- data.tar.gz: a1f6735f74f3bce0ea8c1e36d851206ba3498c361ea12163ef92e635d443655c0d959fbfd6ef2db518636c3d82a35ceae2181392828b0d6f1b52fcf8aa3be30a
6
+ metadata.gz: 2a101994eec9e9194a30a195e760848e78fd0cc3a1f1b78cf7e1133d16a32a124aa95713dc73099cc9a4b1c10ac8f26fd86a835b2fd9181c79bd49ceeff0d721
7
+ data.tar.gz: 287e20c6220adc27ab06253f5f85d93be35f2af9fd966066e0ef85352dab57c335db24b04e4f2b2397a5e62aff7997905099e8db02280da4eb5d057168415087
data/CHANGELOG.md CHANGED
@@ -9,6 +9,23 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
9
9
 
10
10
  None
11
11
 
12
+ <a name="4.5.1"></a>
13
+
14
+ ## [4.5.1] - 2023-09-01
15
+
16
+ ### Added
17
+
18
+ - TranscribeUtterance into a PerCL command
19
+ - MIT License
20
+
21
+ <a name="4.5.0"></a>
22
+
23
+ ## [4.5.0] - 2023-08-15
24
+
25
+ ### Added
26
+
27
+ - Transcribe Utterance Feature
28
+
12
29
  <a name="4.4.4"></a>
13
30
 
14
31
  ## [4.4.4] - 2023-08-24
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- freeclimb (4.4.4)
4
+ freeclimb (4.5.1)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
data/LICENSE.txt ADDED
@@ -0,0 +1,10 @@
1
+ MIT License
2
+ -------------
3
+
4
+ Copyright (c) 2023 FreeClimbAPI
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
9
+
10
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -7,7 +7,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 1.0.0
10
- - Package version: 4.4.4
10
+ - Package version: 4.5.1
11
11
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
12
  For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/)
13
13
 
@@ -15,7 +15,7 @@ For more information, please visit [https://www.freeclimb.com/support/](https://
15
15
 
16
16
  Add this to the Gemfile:
17
17
 
18
- gem 'freeclimb', '~> 4.4.4'
18
+ gem 'freeclimb', '~> 4.5.1'
19
19
 
20
20
  and run from your terminal
21
21
 
@@ -44,9 +44,9 @@ gem build freeclimb.gemspec
44
44
  Then either install the gem locally:
45
45
 
46
46
  ```shell
47
- gem install ./freeclimb-4.4.4.gem
47
+ gem install ./freeclimb-4.5.1.gem
48
48
  ```
49
- (for development, run `gem install --dev ./freeclimb-4.4.4.gem` to install the development dependencies)
49
+ (for development, run `gem install --dev ./freeclimb-4.5.1.gem` to install the development dependencies)
50
50
 
51
51
  ## Getting Started
52
52
 
@@ -286,6 +286,8 @@ Class | Method | HTTP request | Description
286
286
  - [Freeclimb::StartRecordCall](docs/StartRecordCall.md)
287
287
  - [Freeclimb::TerminateConference](docs/TerminateConference.md)
288
288
  - [Freeclimb::TerminateConferenceAllOf](docs/TerminateConferenceAllOf.md)
289
+ - [Freeclimb::TranscribeUtterance](docs/TranscribeUtterance.md)
290
+ - [Freeclimb::TranscribeUtteranceRecord](docs/TranscribeUtteranceRecord.md)
289
291
  - [Freeclimb::Unpark](docs/Unpark.md)
290
292
  - [Freeclimb::UpdateCallRequest](docs/UpdateCallRequest.md)
291
293
  - [Freeclimb::UpdateCallRequestStatus](docs/UpdateCallRequestStatus.md)
@@ -72,7 +72,7 @@ instance = Freeclimb::SMSTenDLCCampaign.new(
72
72
  help_message: null,
73
73
  reference_id: null,
74
74
  mock: null,
75
- next_renewal_or_expiration_date: Fri Dec 31 18:00:00 CST 1999
75
+ next_renewal_or_expiration_date: Fri Dec 31 19:00:00 EST 1999
76
76
  )
77
77
  ```
78
78
 
@@ -0,0 +1,28 @@
1
+ # Freeclimb::TranscribeUtterance
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **action_url** | **String** | | |
8
+ | **play_beep** | **Boolean** | | [optional][default to false] |
9
+ | **record** | [**TranscribeUtteranceRecord**](TranscribeUtteranceRecord.md) | | [optional] |
10
+ | **privacy_for_logging** | **Boolean** | | [optional][default to false] |
11
+ | **privacy_for_recording** | **Boolean** | | [optional][default to false] |
12
+ | **prompts** | **Array&lt;Object&gt;** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'freeclimb'
18
+
19
+ instance = Freeclimb::TranscribeUtterance.new(
20
+ action_url: null,
21
+ play_beep: null,
22
+ record: null,
23
+ privacy_for_logging: null,
24
+ privacy_for_recording: null,
25
+ prompts: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,22 @@
1
+ # Freeclimb::TranscribeUtteranceRecord
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **save_recording** | **Boolean** | | [optional][default to false] |
8
+ | **max_length_sec** | **Integer** | | [optional][default to 60] |
9
+ | **rcrd_termination_silence_time_ms** | **Integer** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'freeclimb'
15
+
16
+ instance = Freeclimb::TranscribeUtteranceRecord.new(
17
+ save_recording: null,
18
+ max_length_sec: null,
19
+ rcrd_termination_silence_time_ms: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,299 @@
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: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Freeclimb
17
+ # The `TranscribeUtterance` command transcribes the caller’s voice and returns transcription of the audio and optionally returns the recording of the audio transcribed. `TranscribeUtterance` is blocking and is a terminal command. As such, the actionUrl property is required, and control of the Call picks up using the `PerCL` returned in response of the `actionUrl`. Recording and Transcription information is returned in the actionUrl request. If the reason this command ended was due to the call hanging up, any PerCL returned will not execute.
18
+ class TranscribeUtterance < PerclCommand
19
+ attr_accessor :action_url
20
+
21
+ attr_accessor :play_beep
22
+
23
+ attr_accessor :record
24
+
25
+ attr_accessor :privacy_for_logging
26
+
27
+ attr_accessor :privacy_for_recording
28
+
29
+ attr_accessor :prompts
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'action_url' => :'actionUrl',
35
+ :'play_beep' => :'playBeep',
36
+ :'record' => :'record',
37
+ :'privacy_for_logging' => :'privacyForLogging',
38
+ :'privacy_for_recording' => :'privacyForRecording',
39
+ :'prompts' => :'prompts'
40
+ }
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'action_url' => :'String',
52
+ :'play_beep' => :'Boolean',
53
+ :'record' => :'TranscribeUtteranceRecord',
54
+ :'privacy_for_logging' => :'Boolean',
55
+ :'privacy_for_recording' => :'Boolean',
56
+ :'prompts' => :'Array<Object>'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # List of class defined in allOf (OpenAPI v3)
67
+ def self.openapi_all_of
68
+ [
69
+ :'PerclCommand'
70
+ ]
71
+ end
72
+
73
+ # Initializes the object
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::TranscribeUtterance` initialize method"
78
+ end
79
+
80
+ # check to see if the attribute exists and convert string to symbol for hash key
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!self.class.attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::TranscribeUtterance`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'action_url')
89
+ self.action_url = attributes[:'action_url']
90
+ end
91
+
92
+ if attributes.key?(:'play_beep')
93
+ self.play_beep = attributes[:'play_beep']
94
+ else
95
+ self.play_beep = false
96
+ end
97
+
98
+ if attributes.key?(:'record')
99
+ self.record = attributes[:'record']
100
+ end
101
+
102
+ if attributes.key?(:'privacy_for_logging')
103
+ self.privacy_for_logging = attributes[:'privacy_for_logging']
104
+ else
105
+ self.privacy_for_logging = false
106
+ end
107
+
108
+ if attributes.key?(:'privacy_for_recording')
109
+ self.privacy_for_recording = attributes[:'privacy_for_recording']
110
+ else
111
+ self.privacy_for_recording = false
112
+ end
113
+
114
+ if attributes.key?(:'prompts')
115
+ if (value = attributes[:'prompts']).is_a?(Array)
116
+ self.prompts = value
117
+ end
118
+ end
119
+ self.command = "TranscribeUtterance"
120
+ end
121
+
122
+ # Show invalid properties with the reasons. Usually used together with valid?
123
+ # @return Array for valid properties with the reasons
124
+ def list_invalid_properties
125
+ invalid_properties = Array.new
126
+ if @action_url.nil?
127
+ invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
128
+ end
129
+
130
+ invalid_properties
131
+ end
132
+
133
+ # Check to see if the all the properties in the model are valid
134
+ # @return true if the model is valid
135
+ def valid?
136
+
137
+ if @action_url.nil?
138
+ false
139
+ elsif @play_beep.nil?
140
+ false
141
+ elsif @record.nil?
142
+ false
143
+ elsif @privacy_for_logging.nil?
144
+ false
145
+ elsif @privacy_for_recording.nil?
146
+ false
147
+ elsif @prompts.nil?
148
+ false
149
+ else
150
+ list_invalid_properties.length() == 0
151
+ end
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ action_url == o.action_url &&
160
+ play_beep == o.play_beep &&
161
+ record == o.record &&
162
+ privacy_for_logging == o.privacy_for_logging &&
163
+ privacy_for_recording == o.privacy_for_recording &&
164
+ prompts == o.prompts
165
+ end
166
+
167
+ # @see the `==` method
168
+ # @param [Object] Object to be compared
169
+ def eql?(o)
170
+ self == o
171
+ end
172
+
173
+ # Calculates hash code according to all attributes.
174
+ # @return [Integer] Hash code
175
+ def hash
176
+ [action_url, play_beep, record, privacy_for_logging, privacy_for_recording, prompts].hash
177
+ end
178
+
179
+ # Builds the object from hash
180
+ # @param [Hash] attributes Model attributes in the form of hash
181
+ # @return [Object] Returns the model itself
182
+ def self.build_from_hash(attributes)
183
+ new.build_from_hash(attributes)
184
+ end
185
+
186
+ # Builds the object from hash
187
+ # @param [Hash] attributes Model attributes in the form of hash
188
+ # @return [Object] Returns the model itself
189
+ def build_from_hash(attributes)
190
+ return nil unless attributes.is_a?(Hash)
191
+ self.class.openapi_types.each_pair do |key, type|
192
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
193
+ self.send("#{key}=", nil)
194
+ elsif type =~ /\AArray<(.*)>/i
195
+ # check to ensure the input is an array given that the attribute
196
+ # is documented as an array but the input is not
197
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
198
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
199
+ end
200
+ elsif !attributes[self.class.attribute_map[key]].nil?
201
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
202
+ end
203
+ end
204
+
205
+ self
206
+ end
207
+
208
+ # Deserializes the data based on type
209
+ # @param string type Data type
210
+ # @param string value Value to be deserialized
211
+ # @return [Object] Deserialized data
212
+ def _deserialize(type, value)
213
+ case type.to_sym
214
+ when :Time
215
+ Time.parse(value)
216
+ when :Date
217
+ Date.parse(value)
218
+ when :String
219
+ value.to_s
220
+ when :Integer
221
+ value.to_i
222
+ when :Float
223
+ value.to_f
224
+ when :Boolean
225
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
226
+ true
227
+ else
228
+ false
229
+ end
230
+ when :Object
231
+ # generic object (usually a Hash), return directly
232
+ value
233
+ when /\AArray<(?<inner_type>.+)>\z/
234
+ inner_type = Regexp.last_match[:inner_type]
235
+ value.map { |v| _deserialize(inner_type, v) }
236
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
237
+ k_type = Regexp.last_match[:k_type]
238
+ v_type = Regexp.last_match[:v_type]
239
+ {}.tap do |hash|
240
+ value.each do |k, v|
241
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
242
+ end
243
+ end
244
+ else # model
245
+ # models (e.g. Pet) or oneOf
246
+ klass = Freeclimb.const_get(type)
247
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
248
+ end
249
+ end
250
+
251
+ # Returns the string representation of the object
252
+ # @return [String] String presentation of the object
253
+ def to_s
254
+ to_hash.to_s
255
+ end
256
+
257
+ # to_body is an alias to to_hash (backward compatibility)
258
+ # @return [Hash] Returns the object in the form of hash
259
+ def to_body
260
+ to_hash
261
+ end
262
+
263
+ # Returns the object in the form of hash
264
+ # @return [Hash] Returns the object in the form of hash
265
+ def to_hash
266
+ hash = super
267
+ self.class.attribute_map.each_pair do |attr, param|
268
+ value = self.send(attr)
269
+ if value.nil?
270
+ is_nullable = self.class.openapi_nullable.include?(attr)
271
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
272
+ end
273
+
274
+ hash[param] = _to_hash(value)
275
+ end
276
+ hash
277
+ end
278
+
279
+ # Outputs non-array value in the form of hash
280
+ # For object, use to_hash. Otherwise, just return the value
281
+ # @param [Object] value Any valid value
282
+ # @return [Hash] Returns the value in the form of hash
283
+ def _to_hash(value)
284
+ if value.is_a?(Array)
285
+ value.compact.map { |v| _to_hash(v) }
286
+ elsif value.is_a?(Hash)
287
+ {}.tap do |hash|
288
+ value.each { |k, v| hash[k] = _to_hash(v) }
289
+ end
290
+ elsif value.respond_to? :to_hash
291
+ value.to_hash
292
+ else
293
+ value
294
+ end
295
+ end
296
+
297
+ end
298
+
299
+ end