shotstack 0.2.2 → 0.2.6
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.
- checksums.yaml +4 -4
- data/Gemfile +9 -0
- data/Rakefile +10 -0
- data/lib/shotstack/api/create_api.rb +158 -0
- data/lib/shotstack/api/edit_api.rb +20 -20
- data/lib/shotstack/api/ingest_api.rb +338 -0
- data/lib/shotstack/api/serve_api.rb +76 -8
- data/lib/shotstack/api_client.rb +28 -24
- data/lib/shotstack/api_error.rb +3 -2
- data/lib/shotstack/configuration.rb +55 -9
- data/lib/shotstack/models/asset.rb +3 -3
- data/lib/shotstack/models/asset_render_response.rb +18 -20
- data/lib/shotstack/models/asset_response.rb +18 -20
- data/lib/shotstack/models/asset_response_attributes.rb +23 -21
- data/lib/shotstack/models/asset_response_data.rb +20 -20
- data/lib/shotstack/models/audio_asset.rb +57 -21
- data/lib/shotstack/models/audio_enhancement.rb +43 -0
- data/lib/shotstack/models/clip.rb +27 -25
- data/lib/shotstack/models/crop.rb +40 -28
- data/lib/shotstack/models/destinations.rb +78 -243
- data/lib/shotstack/models/did_generated_asset.rb +273 -0
- data/lib/shotstack/models/did_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/did_text_to_avatar_options.rb +313 -0
- data/lib/shotstack/models/dolby_enhancement.rb +239 -0
- data/lib/shotstack/models/dolby_enhancement_options.rb +257 -0
- data/lib/shotstack/models/edit.rb +22 -22
- data/lib/shotstack/models/eleven_labs_generated_asset.rb +273 -0
- data/lib/shotstack/models/eleven_labs_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/eleven_labs_text_to_speech_options.rb +303 -0
- data/lib/shotstack/models/enhancements.rb +215 -0
- data/lib/shotstack/models/flip_transformation.rb +16 -20
- data/lib/shotstack/models/font.rb +18 -20
- data/lib/shotstack/models/generated_asset.rb +48 -0
- data/lib/shotstack/models/generated_asset_error_response.rb +225 -0
- data/lib/shotstack/models/generated_asset_error_response_data.rb +257 -0
- data/lib/shotstack/models/generated_asset_response.rb +222 -0
- data/lib/shotstack/models/generated_asset_response_attributes.rb +376 -0
- data/lib/shotstack/models/generated_asset_response_data.rb +256 -0
- data/lib/shotstack/models/google_cloud_storage_destination.rb +232 -0
- data/lib/shotstack/models/google_cloud_storage_destination_options.rb +243 -0
- data/lib/shotstack/models/google_drive_destination.rb +239 -0
- data/lib/shotstack/models/google_drive_destination_options.rb +233 -0
- data/lib/shotstack/models/hey_gen_generated_asset.rb +273 -0
- data/lib/shotstack/models/hey_gen_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/hey_gen_text_to_avatar_options.rb +396 -0
- data/lib/shotstack/models/html_asset.rb +20 -22
- data/lib/shotstack/models/image_asset.rb +18 -20
- data/lib/shotstack/models/ingest_error_response.rb +225 -0
- data/lib/shotstack/models/ingest_error_response_data.rb +257 -0
- data/lib/shotstack/models/luma_asset.rb +18 -20
- data/lib/shotstack/models/merge_field.rb +20 -20
- data/lib/shotstack/models/mux_destination.rb +18 -22
- data/lib/shotstack/models/mux_destination_options.rb +50 -25
- data/lib/shotstack/models/offset.rb +28 -24
- data/lib/shotstack/models/open_ai_generated_asset.rb +273 -0
- data/lib/shotstack/models/open_ai_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/open_ai_text_generator_options.rb +313 -0
- data/lib/shotstack/models/output.rb +27 -29
- data/lib/shotstack/models/outputs.rb +227 -0
- data/lib/shotstack/models/outputs_response.rb +218 -0
- data/lib/shotstack/models/poster.rb +18 -20
- data/lib/shotstack/models/probe_response.rb +22 -20
- data/lib/shotstack/models/queued_response.rb +22 -20
- data/lib/shotstack/models/queued_response_data.rb +20 -20
- data/lib/shotstack/models/queued_source_response.rb +222 -0
- data/lib/shotstack/models/queued_source_response_data.rb +240 -0
- data/lib/shotstack/models/range.rb +26 -22
- data/lib/shotstack/models/render_response.rb +22 -20
- data/lib/shotstack/models/render_response_data.rb +22 -20
- data/lib/shotstack/models/rendition.rb +429 -0
- data/lib/shotstack/models/rendition_response_attributes.rb +336 -0
- data/lib/shotstack/models/rotate_transformation.rb +16 -20
- data/lib/shotstack/models/s3_destination.rb +18 -22
- data/lib/shotstack/models/s3_destination_options.rb +21 -21
- data/lib/shotstack/models/shotstack_destination.rb +19 -23
- data/lib/shotstack/models/shotstack_generated_asset.rb +273 -0
- data/lib/shotstack/models/shotstack_generated_asset_options.rb +60 -0
- data/lib/shotstack/models/shotstack_image_to_video_options.rb +298 -0
- data/lib/shotstack/models/shotstack_text_generator_options.rb +274 -0
- data/lib/shotstack/models/shotstack_text_to_image_options.rb +308 -0
- data/lib/shotstack/models/shotstack_text_to_speech_options.rb +339 -0
- data/lib/shotstack/models/size.rb +36 -32
- data/lib/shotstack/models/skew_transformation.rb +16 -20
- data/lib/shotstack/models/soundtrack.rb +18 -20
- data/lib/shotstack/models/source.rb +244 -0
- data/lib/shotstack/models/source_list_response.rb +225 -0
- data/lib/shotstack/models/source_response.rb +222 -0
- data/lib/shotstack/models/source_response_attributes.rb +373 -0
- data/lib/shotstack/models/source_response_data.rb +256 -0
- data/lib/shotstack/models/speed.rb +254 -0
- data/lib/shotstack/models/stability_ai_generated_asset.rb +273 -0
- data/lib/shotstack/models/stability_ai_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/stability_ai_text_to_image_options.rb +390 -0
- data/lib/shotstack/models/template.rb +18 -20
- data/lib/shotstack/models/template_data_response.rb +23 -21
- data/lib/shotstack/models/template_data_response_data.rb +24 -20
- data/lib/shotstack/models/template_list_response.rb +24 -22
- data/lib/shotstack/models/template_list_response_data.rb +20 -20
- data/lib/shotstack/models/template_list_response_item.rb +20 -20
- data/lib/shotstack/models/template_render.rb +18 -20
- data/lib/shotstack/models/template_response.rb +22 -20
- data/lib/shotstack/models/template_response_data.rb +20 -20
- data/lib/shotstack/models/thumbnail.rb +20 -20
- data/lib/shotstack/models/timeline.rb +19 -21
- data/lib/shotstack/models/title_asset.rb +18 -20
- data/lib/shotstack/models/track.rb +18 -20
- data/lib/shotstack/models/transcription.rb +250 -0
- data/lib/shotstack/models/transfer.rb +259 -0
- data/lib/shotstack/models/transfer_response.rb +222 -0
- data/lib/shotstack/models/transfer_response_attributes.rb +280 -0
- data/lib/shotstack/models/transfer_response_data.rb +225 -0
- data/lib/shotstack/models/transformation.rb +16 -20
- data/lib/shotstack/models/transition.rb +16 -20
- data/lib/shotstack/models/upload_response.rb +222 -0
- data/lib/shotstack/models/upload_response_attributes.rb +257 -0
- data/lib/shotstack/models/upload_response_data.rb +256 -0
- data/lib/shotstack/models/video_asset.rb +57 -21
- data/lib/shotstack/version.rb +3 -3
- data/lib/shotstack.rb +61 -2
- data/shotstack.gemspec +8 -8
- metadata +69 -16
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,9 +14,9 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shotstack
|
|
17
|
-
# Send
|
|
17
|
+
# Send videos to the [Mux](https://shotstack.io/docs/guide/serving-assets/destinations/mux/) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request.
|
|
18
18
|
class MuxDestination
|
|
19
|
-
# The destination to send
|
|
19
|
+
# The destination to send video to - set to `mux` for Mux.
|
|
20
20
|
attr_accessor :provider
|
|
21
21
|
|
|
22
22
|
attr_accessor :options
|
|
@@ -77,6 +77,7 @@ module Shotstack
|
|
|
77
77
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
78
78
|
# @return Array for valid properties with the reasons
|
|
79
79
|
def list_invalid_properties
|
|
80
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
80
81
|
invalid_properties = Array.new
|
|
81
82
|
if @provider.nil?
|
|
82
83
|
invalid_properties.push('invalid value for "provider", provider cannot be nil.')
|
|
@@ -88,6 +89,7 @@ module Shotstack
|
|
|
88
89
|
# Check to see if the all the properties in the model are valid
|
|
89
90
|
# @return true if the model is valid
|
|
90
91
|
def valid?
|
|
92
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
91
93
|
return false if @provider.nil?
|
|
92
94
|
true
|
|
93
95
|
end
|
|
@@ -117,36 +119,30 @@ module Shotstack
|
|
|
117
119
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
118
120
|
# @return [Object] Returns the model itself
|
|
119
121
|
def self.build_from_hash(attributes)
|
|
120
|
-
new.build_from_hash(attributes)
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
# Builds the object from hash
|
|
124
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
125
|
-
# @return [Object] Returns the model itself
|
|
126
|
-
def build_from_hash(attributes)
|
|
127
122
|
return nil unless attributes.is_a?(Hash)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
124
|
+
transformed_hash = {}
|
|
125
|
+
openapi_types.each_pair do |key, type|
|
|
126
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
127
|
+
transformed_hash["#{key}"] = nil
|
|
131
128
|
elsif type =~ /\AArray<(.*)>/i
|
|
132
129
|
# check to ensure the input is an array given that the attribute
|
|
133
130
|
# is documented as an array but the input is not
|
|
134
|
-
if attributes[
|
|
135
|
-
|
|
131
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
132
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
136
133
|
end
|
|
137
|
-
elsif !attributes[
|
|
138
|
-
|
|
134
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
135
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
139
136
|
end
|
|
140
137
|
end
|
|
141
|
-
|
|
142
|
-
self
|
|
138
|
+
new(transformed_hash)
|
|
143
139
|
end
|
|
144
140
|
|
|
145
141
|
# Deserializes the data based on type
|
|
146
142
|
# @param string type Data type
|
|
147
143
|
# @param string value Value to be deserialized
|
|
148
144
|
# @return [Object] Deserialized data
|
|
149
|
-
def _deserialize(type, value)
|
|
145
|
+
def self._deserialize(type, value)
|
|
150
146
|
case type.to_sym
|
|
151
147
|
when :Time
|
|
152
148
|
Time.parse(value)
|
|
@@ -181,7 +177,7 @@ module Shotstack
|
|
|
181
177
|
else # model
|
|
182
178
|
# models (e.g. Pet) or oneOf
|
|
183
179
|
klass = Shotstack.const_get(type)
|
|
184
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
180
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
185
181
|
end
|
|
186
182
|
end
|
|
187
183
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,11 +14,14 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shotstack
|
|
17
|
-
# Pass additional options to control how Mux processes video. Currently supports
|
|
17
|
+
# Pass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options.
|
|
18
18
|
class MuxDestinationOptions
|
|
19
19
|
# Sets the Mux `playback_policy` option. Value is an array of strings - use `public`, `signed`, or both.
|
|
20
20
|
attr_accessor :playback_policy
|
|
21
21
|
|
|
22
|
+
# Sets the Mux `passthrough` option. Max 255 characters.
|
|
23
|
+
attr_accessor :passthrough
|
|
24
|
+
|
|
22
25
|
class EnumAttributeValidator
|
|
23
26
|
attr_reader :datatype
|
|
24
27
|
attr_reader :allowable_values
|
|
@@ -44,7 +47,8 @@ module Shotstack
|
|
|
44
47
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
45
48
|
def self.attribute_map
|
|
46
49
|
{
|
|
47
|
-
:'playback_policy' => :'playbackPolicy'
|
|
50
|
+
:'playback_policy' => :'playbackPolicy',
|
|
51
|
+
:'passthrough' => :'passthrough'
|
|
48
52
|
}
|
|
49
53
|
end
|
|
50
54
|
|
|
@@ -56,7 +60,8 @@ module Shotstack
|
|
|
56
60
|
# Attribute type mapping.
|
|
57
61
|
def self.openapi_types
|
|
58
62
|
{
|
|
59
|
-
:'playback_policy' => :'Array<String>'
|
|
63
|
+
:'playback_policy' => :'Array<String>',
|
|
64
|
+
:'passthrough' => :'String'
|
|
60
65
|
}
|
|
61
66
|
end
|
|
62
67
|
|
|
@@ -86,27 +91,53 @@ module Shotstack
|
|
|
86
91
|
self.playback_policy = value
|
|
87
92
|
end
|
|
88
93
|
end
|
|
94
|
+
|
|
95
|
+
if attributes.key?(:'passthrough')
|
|
96
|
+
self.passthrough = attributes[:'passthrough']
|
|
97
|
+
end
|
|
89
98
|
end
|
|
90
99
|
|
|
91
100
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
92
101
|
# @return Array for valid properties with the reasons
|
|
93
102
|
def list_invalid_properties
|
|
103
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
94
104
|
invalid_properties = Array.new
|
|
105
|
+
if !@passthrough.nil? && @passthrough.to_s.length > 255
|
|
106
|
+
invalid_properties.push('invalid value for "passthrough", the character length must be smaller than or equal to 255.')
|
|
107
|
+
end
|
|
108
|
+
|
|
95
109
|
invalid_properties
|
|
96
110
|
end
|
|
97
111
|
|
|
98
112
|
# Check to see if the all the properties in the model are valid
|
|
99
113
|
# @return true if the model is valid
|
|
100
114
|
def valid?
|
|
115
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
116
|
+
return false if !@passthrough.nil? && @passthrough.to_s.length > 255
|
|
101
117
|
true
|
|
102
118
|
end
|
|
103
119
|
|
|
120
|
+
# Custom attribute writer method with validation
|
|
121
|
+
# @param [Object] passthrough Value to be assigned
|
|
122
|
+
def passthrough=(passthrough)
|
|
123
|
+
if passthrough.nil?
|
|
124
|
+
fail ArgumentError, 'passthrough cannot be nil'
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
if passthrough.to_s.length > 255
|
|
128
|
+
fail ArgumentError, 'invalid value for "passthrough", the character length must be smaller than or equal to 255.'
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
@passthrough = passthrough
|
|
132
|
+
end
|
|
133
|
+
|
|
104
134
|
# Checks equality by comparing each attribute.
|
|
105
135
|
# @param [Object] Object to be compared
|
|
106
136
|
def ==(o)
|
|
107
137
|
return true if self.equal?(o)
|
|
108
138
|
self.class == o.class &&
|
|
109
|
-
playback_policy == o.playback_policy
|
|
139
|
+
playback_policy == o.playback_policy &&
|
|
140
|
+
passthrough == o.passthrough
|
|
110
141
|
end
|
|
111
142
|
|
|
112
143
|
# @see the `==` method
|
|
@@ -118,43 +149,37 @@ module Shotstack
|
|
|
118
149
|
# Calculates hash code according to all attributes.
|
|
119
150
|
# @return [Integer] Hash code
|
|
120
151
|
def hash
|
|
121
|
-
[playback_policy].hash
|
|
152
|
+
[playback_policy, passthrough].hash
|
|
122
153
|
end
|
|
123
154
|
|
|
124
155
|
# Builds the object from hash
|
|
125
156
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
126
157
|
# @return [Object] Returns the model itself
|
|
127
158
|
def self.build_from_hash(attributes)
|
|
128
|
-
new.build_from_hash(attributes)
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
# Builds the object from hash
|
|
132
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
133
|
-
# @return [Object] Returns the model itself
|
|
134
|
-
def build_from_hash(attributes)
|
|
135
159
|
return nil unless attributes.is_a?(Hash)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
160
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
161
|
+
transformed_hash = {}
|
|
162
|
+
openapi_types.each_pair do |key, type|
|
|
163
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
164
|
+
transformed_hash["#{key}"] = nil
|
|
139
165
|
elsif type =~ /\AArray<(.*)>/i
|
|
140
166
|
# check to ensure the input is an array given that the attribute
|
|
141
167
|
# is documented as an array but the input is not
|
|
142
|
-
if attributes[
|
|
143
|
-
|
|
168
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
169
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
144
170
|
end
|
|
145
|
-
elsif !attributes[
|
|
146
|
-
|
|
171
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
172
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
147
173
|
end
|
|
148
174
|
end
|
|
149
|
-
|
|
150
|
-
self
|
|
175
|
+
new(transformed_hash)
|
|
151
176
|
end
|
|
152
177
|
|
|
153
178
|
# Deserializes the data based on type
|
|
154
179
|
# @param string type Data type
|
|
155
180
|
# @param string value Value to be deserialized
|
|
156
181
|
# @return [Object] Deserialized data
|
|
157
|
-
def _deserialize(type, value)
|
|
182
|
+
def self._deserialize(type, value)
|
|
158
183
|
case type.to_sym
|
|
159
184
|
when :Time
|
|
160
185
|
Time.parse(value)
|
|
@@ -189,7 +214,7 @@ module Shotstack
|
|
|
189
214
|
else # model
|
|
190
215
|
# models (e.g. Pet) or oneOf
|
|
191
216
|
klass = Shotstack.const_get(type)
|
|
192
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
217
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
193
218
|
end
|
|
194
219
|
end
|
|
195
220
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -76,6 +76,7 @@ module Shotstack
|
|
|
76
76
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
77
77
|
# @return Array for valid properties with the reasons
|
|
78
78
|
def list_invalid_properties
|
|
79
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
79
80
|
invalid_properties = Array.new
|
|
80
81
|
if !@x.nil? && @x > 10
|
|
81
82
|
invalid_properties.push('invalid value for "x", must be smaller than or equal to 10.')
|
|
@@ -99,6 +100,7 @@ module Shotstack
|
|
|
99
100
|
# Check to see if the all the properties in the model are valid
|
|
100
101
|
# @return true if the model is valid
|
|
101
102
|
def valid?
|
|
103
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
102
104
|
return false if !@x.nil? && @x > 10
|
|
103
105
|
return false if !@x.nil? && @x < -10
|
|
104
106
|
return false if !@y.nil? && @y > 10
|
|
@@ -109,11 +111,15 @@ module Shotstack
|
|
|
109
111
|
# Custom attribute writer method with validation
|
|
110
112
|
# @param [Object] x Value to be assigned
|
|
111
113
|
def x=(x)
|
|
112
|
-
if
|
|
114
|
+
if x.nil?
|
|
115
|
+
fail ArgumentError, 'x cannot be nil'
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
if x > 10
|
|
113
119
|
fail ArgumentError, 'invalid value for "x", must be smaller than or equal to 10.'
|
|
114
120
|
end
|
|
115
121
|
|
|
116
|
-
if
|
|
122
|
+
if x < -10
|
|
117
123
|
fail ArgumentError, 'invalid value for "x", must be greater than or equal to -10.'
|
|
118
124
|
end
|
|
119
125
|
|
|
@@ -123,11 +129,15 @@ module Shotstack
|
|
|
123
129
|
# Custom attribute writer method with validation
|
|
124
130
|
# @param [Object] y Value to be assigned
|
|
125
131
|
def y=(y)
|
|
126
|
-
if
|
|
132
|
+
if y.nil?
|
|
133
|
+
fail ArgumentError, 'y cannot be nil'
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if y > 10
|
|
127
137
|
fail ArgumentError, 'invalid value for "y", must be smaller than or equal to 10.'
|
|
128
138
|
end
|
|
129
139
|
|
|
130
|
-
if
|
|
140
|
+
if y < -10
|
|
131
141
|
fail ArgumentError, 'invalid value for "y", must be greater than or equal to -10.'
|
|
132
142
|
end
|
|
133
143
|
|
|
@@ -159,36 +169,30 @@ module Shotstack
|
|
|
159
169
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
160
170
|
# @return [Object] Returns the model itself
|
|
161
171
|
def self.build_from_hash(attributes)
|
|
162
|
-
new.build_from_hash(attributes)
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
# Builds the object from hash
|
|
166
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
167
|
-
# @return [Object] Returns the model itself
|
|
168
|
-
def build_from_hash(attributes)
|
|
169
172
|
return nil unless attributes.is_a?(Hash)
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
174
|
+
transformed_hash = {}
|
|
175
|
+
openapi_types.each_pair do |key, type|
|
|
176
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
177
|
+
transformed_hash["#{key}"] = nil
|
|
173
178
|
elsif type =~ /\AArray<(.*)>/i
|
|
174
179
|
# check to ensure the input is an array given that the attribute
|
|
175
180
|
# is documented as an array but the input is not
|
|
176
|
-
if attributes[
|
|
177
|
-
|
|
181
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
182
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
178
183
|
end
|
|
179
|
-
elsif !attributes[
|
|
180
|
-
|
|
184
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
185
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
181
186
|
end
|
|
182
187
|
end
|
|
183
|
-
|
|
184
|
-
self
|
|
188
|
+
new(transformed_hash)
|
|
185
189
|
end
|
|
186
190
|
|
|
187
191
|
# Deserializes the data based on type
|
|
188
192
|
# @param string type Data type
|
|
189
193
|
# @param string value Value to be deserialized
|
|
190
194
|
# @return [Object] Deserialized data
|
|
191
|
-
def _deserialize(type, value)
|
|
195
|
+
def self._deserialize(type, value)
|
|
192
196
|
case type.to_sym
|
|
193
197
|
when :Time
|
|
194
198
|
Time.parse(value)
|
|
@@ -223,7 +227,7 @@ module Shotstack
|
|
|
223
227
|
else # model
|
|
224
228
|
# models (e.g. Pet) or oneOf
|
|
225
229
|
klass = Shotstack.const_get(type)
|
|
226
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
230
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
227
231
|
end
|
|
228
232
|
end
|
|
229
233
|
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Shotstack
|
|
3
|
+
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.4.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Shotstack
|
|
17
|
+
# Generate assets using OpenAI. OpenAI provide a text generation service using ChatGPT 3.5 and 4. The OpenAI provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/openai), not in the request.
|
|
18
|
+
class OpenAiGeneratedAsset
|
|
19
|
+
# The name of the provider - set to `openai` for OpenAI.
|
|
20
|
+
attr_accessor :provider
|
|
21
|
+
|
|
22
|
+
attr_accessor :options
|
|
23
|
+
|
|
24
|
+
class EnumAttributeValidator
|
|
25
|
+
attr_reader :datatype
|
|
26
|
+
attr_reader :allowable_values
|
|
27
|
+
|
|
28
|
+
def initialize(datatype, allowable_values)
|
|
29
|
+
@allowable_values = allowable_values.map do |value|
|
|
30
|
+
case datatype.to_s
|
|
31
|
+
when /Integer/i
|
|
32
|
+
value.to_i
|
|
33
|
+
when /Float/i
|
|
34
|
+
value.to_f
|
|
35
|
+
else
|
|
36
|
+
value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def valid?(value)
|
|
42
|
+
!value || allowable_values.include?(value)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
47
|
+
def self.attribute_map
|
|
48
|
+
{
|
|
49
|
+
:'provider' => :'provider',
|
|
50
|
+
:'options' => :'options'
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Returns all the JSON keys this model knows about
|
|
55
|
+
def self.acceptable_attributes
|
|
56
|
+
attribute_map.values
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Attribute type mapping.
|
|
60
|
+
def self.openapi_types
|
|
61
|
+
{
|
|
62
|
+
:'provider' => :'String',
|
|
63
|
+
:'options' => :'OpenAiGeneratedAssetOptions'
|
|
64
|
+
}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# List of attributes with nullable: true
|
|
68
|
+
def self.openapi_nullable
|
|
69
|
+
Set.new([
|
|
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 `Shotstack::OpenAiGeneratedAsset` 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 `Shotstack::OpenAiGeneratedAsset`. 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?(:'provider')
|
|
89
|
+
self.provider = attributes[:'provider']
|
|
90
|
+
else
|
|
91
|
+
self.provider = 'openai'
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'options')
|
|
95
|
+
self.options = attributes[:'options']
|
|
96
|
+
else
|
|
97
|
+
self.options = nil
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
102
|
+
# @return Array for valid properties with the reasons
|
|
103
|
+
def list_invalid_properties
|
|
104
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
105
|
+
invalid_properties = Array.new
|
|
106
|
+
if @provider.nil?
|
|
107
|
+
invalid_properties.push('invalid value for "provider", provider cannot be nil.')
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
if @options.nil?
|
|
111
|
+
invalid_properties.push('invalid value for "options", options cannot be nil.')
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
invalid_properties
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Check to see if the all the properties in the model are valid
|
|
118
|
+
# @return true if the model is valid
|
|
119
|
+
def valid?
|
|
120
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
121
|
+
return false if @provider.nil?
|
|
122
|
+
provider_validator = EnumAttributeValidator.new('String', ["openai"])
|
|
123
|
+
return false unless provider_validator.valid?(@provider)
|
|
124
|
+
return false if @options.nil?
|
|
125
|
+
true
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
129
|
+
# @param [Object] provider Object to be assigned
|
|
130
|
+
def provider=(provider)
|
|
131
|
+
validator = EnumAttributeValidator.new('String', ["openai"])
|
|
132
|
+
unless validator.valid?(provider)
|
|
133
|
+
fail ArgumentError, "invalid value for \"provider\", must be one of #{validator.allowable_values}."
|
|
134
|
+
end
|
|
135
|
+
@provider = provider
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Checks equality by comparing each attribute.
|
|
139
|
+
# @param [Object] Object to be compared
|
|
140
|
+
def ==(o)
|
|
141
|
+
return true if self.equal?(o)
|
|
142
|
+
self.class == o.class &&
|
|
143
|
+
provider == o.provider &&
|
|
144
|
+
options == o.options
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# @see the `==` method
|
|
148
|
+
# @param [Object] Object to be compared
|
|
149
|
+
def eql?(o)
|
|
150
|
+
self == o
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Calculates hash code according to all attributes.
|
|
154
|
+
# @return [Integer] Hash code
|
|
155
|
+
def hash
|
|
156
|
+
[provider, options].hash
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# Builds the object from hash
|
|
160
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
161
|
+
# @return [Object] Returns the model itself
|
|
162
|
+
def self.build_from_hash(attributes)
|
|
163
|
+
return nil unless attributes.is_a?(Hash)
|
|
164
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
165
|
+
transformed_hash = {}
|
|
166
|
+
openapi_types.each_pair do |key, type|
|
|
167
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
168
|
+
transformed_hash["#{key}"] = nil
|
|
169
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
170
|
+
# check to ensure the input is an array given that the attribute
|
|
171
|
+
# is documented as an array but the input is not
|
|
172
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
173
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
174
|
+
end
|
|
175
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
176
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
new(transformed_hash)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Deserializes the data based on type
|
|
183
|
+
# @param string type Data type
|
|
184
|
+
# @param string value Value to be deserialized
|
|
185
|
+
# @return [Object] Deserialized data
|
|
186
|
+
def self._deserialize(type, value)
|
|
187
|
+
case type.to_sym
|
|
188
|
+
when :Time
|
|
189
|
+
Time.parse(value)
|
|
190
|
+
when :Date
|
|
191
|
+
Date.parse(value)
|
|
192
|
+
when :String
|
|
193
|
+
value.to_s
|
|
194
|
+
when :Integer
|
|
195
|
+
value.to_i
|
|
196
|
+
when :Float
|
|
197
|
+
value.to_f
|
|
198
|
+
when :Boolean
|
|
199
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
200
|
+
true
|
|
201
|
+
else
|
|
202
|
+
false
|
|
203
|
+
end
|
|
204
|
+
when :Object
|
|
205
|
+
# generic object (usually a Hash), return directly
|
|
206
|
+
value
|
|
207
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
208
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
209
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
210
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
211
|
+
k_type = Regexp.last_match[:k_type]
|
|
212
|
+
v_type = Regexp.last_match[:v_type]
|
|
213
|
+
{}.tap do |hash|
|
|
214
|
+
value.each do |k, v|
|
|
215
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
else # model
|
|
219
|
+
# models (e.g. Pet) or oneOf
|
|
220
|
+
klass = Shotstack.const_get(type)
|
|
221
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# Returns the string representation of the object
|
|
226
|
+
# @return [String] String presentation of the object
|
|
227
|
+
def to_s
|
|
228
|
+
to_hash.to_s
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
232
|
+
# @return [Hash] Returns the object in the form of hash
|
|
233
|
+
def to_body
|
|
234
|
+
to_hash
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
# Returns the object in the form of hash
|
|
238
|
+
# @return [Hash] Returns the object in the form of hash
|
|
239
|
+
def to_hash
|
|
240
|
+
hash = {}
|
|
241
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
242
|
+
value = self.send(attr)
|
|
243
|
+
if value.nil?
|
|
244
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
245
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
hash[param] = _to_hash(value)
|
|
249
|
+
end
|
|
250
|
+
hash
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# Outputs non-array value in the form of hash
|
|
254
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
255
|
+
# @param [Object] value Any valid value
|
|
256
|
+
# @return [Hash] Returns the value in the form of hash
|
|
257
|
+
def _to_hash(value)
|
|
258
|
+
if value.is_a?(Array)
|
|
259
|
+
value.compact.map { |v| _to_hash(v) }
|
|
260
|
+
elsif value.is_a?(Hash)
|
|
261
|
+
{}.tap do |hash|
|
|
262
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
263
|
+
end
|
|
264
|
+
elsif value.respond_to? :to_hash
|
|
265
|
+
value.to_hash
|
|
266
|
+
else
|
|
267
|
+
value
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
end
|