shotstack 0.2.2 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|
@@ -76,21 +76,22 @@ 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 !@width.nil? && @width > 4096
|
81
82
|
invalid_properties.push('invalid value for "width", must be smaller than or equal to 4096.')
|
82
83
|
end
|
83
84
|
|
84
|
-
if !@width.nil? && @width <
|
85
|
-
invalid_properties.push('invalid value for "width", must be greater than or equal to
|
85
|
+
if !@width.nil? && @width < 1
|
86
|
+
invalid_properties.push('invalid value for "width", must be greater than or equal to 1.')
|
86
87
|
end
|
87
88
|
|
88
89
|
if !@height.nil? && @height > 4096
|
89
90
|
invalid_properties.push('invalid value for "height", must be smaller than or equal to 4096.')
|
90
91
|
end
|
91
92
|
|
92
|
-
if !@height.nil? && @height <
|
93
|
-
invalid_properties.push('invalid value for "height", must be greater than or equal to
|
93
|
+
if !@height.nil? && @height < 1
|
94
|
+
invalid_properties.push('invalid value for "height", must be greater than or equal to 1.')
|
94
95
|
end
|
95
96
|
|
96
97
|
invalid_properties
|
@@ -99,22 +100,27 @@ 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 !@width.nil? && @width > 4096
|
103
|
-
return false if !@width.nil? && @width <
|
105
|
+
return false if !@width.nil? && @width < 1
|
104
106
|
return false if !@height.nil? && @height > 4096
|
105
|
-
return false if !@height.nil? && @height <
|
107
|
+
return false if !@height.nil? && @height < 1
|
106
108
|
true
|
107
109
|
end
|
108
110
|
|
109
111
|
# Custom attribute writer method with validation
|
110
112
|
# @param [Object] width Value to be assigned
|
111
113
|
def width=(width)
|
112
|
-
if
|
114
|
+
if width.nil?
|
115
|
+
fail ArgumentError, 'width cannot be nil'
|
116
|
+
end
|
117
|
+
|
118
|
+
if width > 4096
|
113
119
|
fail ArgumentError, 'invalid value for "width", must be smaller than or equal to 4096.'
|
114
120
|
end
|
115
121
|
|
116
|
-
if
|
117
|
-
fail ArgumentError, 'invalid value for "width", must be greater than or equal to
|
122
|
+
if width < 1
|
123
|
+
fail ArgumentError, 'invalid value for "width", must be greater than or equal to 1.'
|
118
124
|
end
|
119
125
|
|
120
126
|
@width = width
|
@@ -123,12 +129,16 @@ module Shotstack
|
|
123
129
|
# Custom attribute writer method with validation
|
124
130
|
# @param [Object] height Value to be assigned
|
125
131
|
def height=(height)
|
126
|
-
if
|
132
|
+
if height.nil?
|
133
|
+
fail ArgumentError, 'height cannot be nil'
|
134
|
+
end
|
135
|
+
|
136
|
+
if height > 4096
|
127
137
|
fail ArgumentError, 'invalid value for "height", must be smaller than or equal to 4096.'
|
128
138
|
end
|
129
139
|
|
130
|
-
if
|
131
|
-
fail ArgumentError, 'invalid value for "height", must be greater than or equal to
|
140
|
+
if height < 1
|
141
|
+
fail ArgumentError, 'invalid value for "height", must be greater than or equal to 1.'
|
132
142
|
end
|
133
143
|
|
134
144
|
@height = height
|
@@ -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
|
|
@@ -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
|
invalid_properties
|
81
82
|
end
|
@@ -83,6 +84,7 @@ module Shotstack
|
|
83
84
|
# Check to see if the all the properties in the model are valid
|
84
85
|
# @return true if the model is valid
|
85
86
|
def valid?
|
87
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
86
88
|
true
|
87
89
|
end
|
88
90
|
|
@@ -111,36 +113,30 @@ module Shotstack
|
|
111
113
|
# @param [Hash] attributes Model attributes in the form of hash
|
112
114
|
# @return [Object] Returns the model itself
|
113
115
|
def self.build_from_hash(attributes)
|
114
|
-
new.build_from_hash(attributes)
|
115
|
-
end
|
116
|
-
|
117
|
-
# Builds the object from hash
|
118
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
119
|
-
# @return [Object] Returns the model itself
|
120
|
-
def build_from_hash(attributes)
|
121
116
|
return nil unless attributes.is_a?(Hash)
|
122
|
-
|
123
|
-
|
124
|
-
|
117
|
+
attributes = attributes.transform_keys(&:to_sym)
|
118
|
+
transformed_hash = {}
|
119
|
+
openapi_types.each_pair do |key, type|
|
120
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
121
|
+
transformed_hash["#{key}"] = nil
|
125
122
|
elsif type =~ /\AArray<(.*)>/i
|
126
123
|
# check to ensure the input is an array given that the attribute
|
127
124
|
# is documented as an array but the input is not
|
128
|
-
if attributes[
|
129
|
-
|
125
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
126
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
130
127
|
end
|
131
|
-
elsif !attributes[
|
132
|
-
|
128
|
+
elsif !attributes[attribute_map[key]].nil?
|
129
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
133
130
|
end
|
134
131
|
end
|
135
|
-
|
136
|
-
self
|
132
|
+
new(transformed_hash)
|
137
133
|
end
|
138
134
|
|
139
135
|
# Deserializes the data based on type
|
140
136
|
# @param string type Data type
|
141
137
|
# @param string value Value to be deserialized
|
142
138
|
# @return [Object] Deserialized data
|
143
|
-
def _deserialize(type, value)
|
139
|
+
def self._deserialize(type, value)
|
144
140
|
case type.to_sym
|
145
141
|
when :Time
|
146
142
|
Time.parse(value)
|
@@ -175,7 +171,7 @@ module Shotstack
|
|
175
171
|
else # model
|
176
172
|
# models (e.g. Pet) or oneOf
|
177
173
|
klass = Shotstack.const_get(type)
|
178
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
174
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
179
175
|
end
|
180
176
|
end
|
181
177
|
|
@@ -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
|
|
@@ -93,6 +93,8 @@ module Shotstack
|
|
93
93
|
|
94
94
|
if attributes.key?(:'src')
|
95
95
|
self.src = attributes[:'src']
|
96
|
+
else
|
97
|
+
self.src = nil
|
96
98
|
end
|
97
99
|
|
98
100
|
if attributes.key?(:'effect')
|
@@ -107,6 +109,7 @@ module Shotstack
|
|
107
109
|
# Show invalid properties with the reasons. Usually used together with valid?
|
108
110
|
# @return Array for valid properties with the reasons
|
109
111
|
def list_invalid_properties
|
112
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
110
113
|
invalid_properties = Array.new
|
111
114
|
if @src.nil?
|
112
115
|
invalid_properties.push('invalid value for "src", src cannot be nil.')
|
@@ -118,6 +121,7 @@ module Shotstack
|
|
118
121
|
# Check to see if the all the properties in the model are valid
|
119
122
|
# @return true if the model is valid
|
120
123
|
def valid?
|
124
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
121
125
|
return false if @src.nil?
|
122
126
|
effect_validator = EnumAttributeValidator.new('String', ["fadeIn", "fadeOut", "fadeInFadeOut"])
|
123
127
|
return false unless effect_validator.valid?(@effect)
|
@@ -160,36 +164,30 @@ module Shotstack
|
|
160
164
|
# @param [Hash] attributes Model attributes in the form of hash
|
161
165
|
# @return [Object] Returns the model itself
|
162
166
|
def self.build_from_hash(attributes)
|
163
|
-
new.build_from_hash(attributes)
|
164
|
-
end
|
165
|
-
|
166
|
-
# Builds the object from hash
|
167
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
168
|
-
# @return [Object] Returns the model itself
|
169
|
-
def build_from_hash(attributes)
|
170
167
|
return nil unless attributes.is_a?(Hash)
|
171
|
-
|
172
|
-
|
173
|
-
|
168
|
+
attributes = attributes.transform_keys(&:to_sym)
|
169
|
+
transformed_hash = {}
|
170
|
+
openapi_types.each_pair do |key, type|
|
171
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
172
|
+
transformed_hash["#{key}"] = nil
|
174
173
|
elsif type =~ /\AArray<(.*)>/i
|
175
174
|
# check to ensure the input is an array given that the attribute
|
176
175
|
# is documented as an array but the input is not
|
177
|
-
if attributes[
|
178
|
-
|
176
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
177
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
179
178
|
end
|
180
|
-
elsif !attributes[
|
181
|
-
|
179
|
+
elsif !attributes[attribute_map[key]].nil?
|
180
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
182
181
|
end
|
183
182
|
end
|
184
|
-
|
185
|
-
self
|
183
|
+
new(transformed_hash)
|
186
184
|
end
|
187
185
|
|
188
186
|
# Deserializes the data based on type
|
189
187
|
# @param string type Data type
|
190
188
|
# @param string value Value to be deserialized
|
191
189
|
# @return [Object] Deserialized data
|
192
|
-
def _deserialize(type, value)
|
190
|
+
def self._deserialize(type, value)
|
193
191
|
case type.to_sym
|
194
192
|
when :Time
|
195
193
|
Time.parse(value)
|
@@ -224,7 +222,7 @@ module Shotstack
|
|
224
222
|
else # model
|
225
223
|
# models (e.g. Pet) or oneOf
|
226
224
|
klass = Shotstack.const_get(type)
|
227
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
225
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
228
226
|
end
|
229
227
|
end
|
230
228
|
|
@@ -0,0 +1,244 @@
|
|
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
|
+
# The details of the file to be ingested and any transformations to be applied. Once the source file has been ingested, new renditions can be created from it. The renditions are specified in the **outputs** property. A rendition is a new version, generated from the source. This can be used to create new sizes and aspect ratios tht serve different purposes within an application.
|
18
|
+
class Source
|
19
|
+
# The URL of the file to be ingested. The URL must be publicly accessible or include credentials.
|
20
|
+
attr_accessor :url
|
21
|
+
|
22
|
+
attr_accessor :outputs
|
23
|
+
|
24
|
+
attr_accessor :destinations
|
25
|
+
|
26
|
+
# An optional webhook callback URL used to receive status notifications when sources are uploaded and renditions processed.
|
27
|
+
attr_accessor :callback
|
28
|
+
|
29
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
30
|
+
def self.attribute_map
|
31
|
+
{
|
32
|
+
:'url' => :'url',
|
33
|
+
:'outputs' => :'outputs',
|
34
|
+
:'destinations' => :'destinations',
|
35
|
+
:'callback' => :'callback'
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns all the JSON keys this model knows about
|
40
|
+
def self.acceptable_attributes
|
41
|
+
attribute_map.values
|
42
|
+
end
|
43
|
+
|
44
|
+
# Attribute type mapping.
|
45
|
+
def self.openapi_types
|
46
|
+
{
|
47
|
+
:'url' => :'String',
|
48
|
+
:'outputs' => :'Outputs',
|
49
|
+
:'destinations' => :'Destinations',
|
50
|
+
:'callback' => :'String'
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
# List of attributes with nullable: true
|
55
|
+
def self.openapi_nullable
|
56
|
+
Set.new([
|
57
|
+
])
|
58
|
+
end
|
59
|
+
|
60
|
+
# Initializes the object
|
61
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
62
|
+
def initialize(attributes = {})
|
63
|
+
if (!attributes.is_a?(Hash))
|
64
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Shotstack::Source` initialize method"
|
65
|
+
end
|
66
|
+
|
67
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
68
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
69
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
70
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Shotstack::Source`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
71
|
+
end
|
72
|
+
h[k.to_sym] = v
|
73
|
+
}
|
74
|
+
|
75
|
+
if attributes.key?(:'url')
|
76
|
+
self.url = attributes[:'url']
|
77
|
+
end
|
78
|
+
|
79
|
+
if attributes.key?(:'outputs')
|
80
|
+
self.outputs = attributes[:'outputs']
|
81
|
+
end
|
82
|
+
|
83
|
+
if attributes.key?(:'destinations')
|
84
|
+
self.destinations = attributes[:'destinations']
|
85
|
+
end
|
86
|
+
|
87
|
+
if attributes.key?(:'callback')
|
88
|
+
self.callback = attributes[:'callback']
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
93
|
+
# @return Array for valid properties with the reasons
|
94
|
+
def list_invalid_properties
|
95
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
96
|
+
invalid_properties = Array.new
|
97
|
+
invalid_properties
|
98
|
+
end
|
99
|
+
|
100
|
+
# Check to see if the all the properties in the model are valid
|
101
|
+
# @return true if the model is valid
|
102
|
+
def valid?
|
103
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
104
|
+
true
|
105
|
+
end
|
106
|
+
|
107
|
+
# Checks equality by comparing each attribute.
|
108
|
+
# @param [Object] Object to be compared
|
109
|
+
def ==(o)
|
110
|
+
return true if self.equal?(o)
|
111
|
+
self.class == o.class &&
|
112
|
+
url == o.url &&
|
113
|
+
outputs == o.outputs &&
|
114
|
+
destinations == o.destinations &&
|
115
|
+
callback == o.callback
|
116
|
+
end
|
117
|
+
|
118
|
+
# @see the `==` method
|
119
|
+
# @param [Object] Object to be compared
|
120
|
+
def eql?(o)
|
121
|
+
self == o
|
122
|
+
end
|
123
|
+
|
124
|
+
# Calculates hash code according to all attributes.
|
125
|
+
# @return [Integer] Hash code
|
126
|
+
def hash
|
127
|
+
[url, outputs, destinations, callback].hash
|
128
|
+
end
|
129
|
+
|
130
|
+
# Builds the object from hash
|
131
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
132
|
+
# @return [Object] Returns the model itself
|
133
|
+
def self.build_from_hash(attributes)
|
134
|
+
return nil unless attributes.is_a?(Hash)
|
135
|
+
attributes = attributes.transform_keys(&:to_sym)
|
136
|
+
transformed_hash = {}
|
137
|
+
openapi_types.each_pair do |key, type|
|
138
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
139
|
+
transformed_hash["#{key}"] = nil
|
140
|
+
elsif type =~ /\AArray<(.*)>/i
|
141
|
+
# check to ensure the input is an array given that the attribute
|
142
|
+
# is documented as an array but the input is not
|
143
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
144
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
145
|
+
end
|
146
|
+
elsif !attributes[attribute_map[key]].nil?
|
147
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
148
|
+
end
|
149
|
+
end
|
150
|
+
new(transformed_hash)
|
151
|
+
end
|
152
|
+
|
153
|
+
# Deserializes the data based on type
|
154
|
+
# @param string type Data type
|
155
|
+
# @param string value Value to be deserialized
|
156
|
+
# @return [Object] Deserialized data
|
157
|
+
def self._deserialize(type, value)
|
158
|
+
case type.to_sym
|
159
|
+
when :Time
|
160
|
+
Time.parse(value)
|
161
|
+
when :Date
|
162
|
+
Date.parse(value)
|
163
|
+
when :String
|
164
|
+
value.to_s
|
165
|
+
when :Integer
|
166
|
+
value.to_i
|
167
|
+
when :Float
|
168
|
+
value.to_f
|
169
|
+
when :Boolean
|
170
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
171
|
+
true
|
172
|
+
else
|
173
|
+
false
|
174
|
+
end
|
175
|
+
when :Object
|
176
|
+
# generic object (usually a Hash), return directly
|
177
|
+
value
|
178
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
179
|
+
inner_type = Regexp.last_match[:inner_type]
|
180
|
+
value.map { |v| _deserialize(inner_type, v) }
|
181
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
182
|
+
k_type = Regexp.last_match[:k_type]
|
183
|
+
v_type = Regexp.last_match[:v_type]
|
184
|
+
{}.tap do |hash|
|
185
|
+
value.each do |k, v|
|
186
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
187
|
+
end
|
188
|
+
end
|
189
|
+
else # model
|
190
|
+
# models (e.g. Pet) or oneOf
|
191
|
+
klass = Shotstack.const_get(type)
|
192
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
# Returns the string representation of the object
|
197
|
+
# @return [String] String presentation of the object
|
198
|
+
def to_s
|
199
|
+
to_hash.to_s
|
200
|
+
end
|
201
|
+
|
202
|
+
# to_body is an alias to to_hash (backward compatibility)
|
203
|
+
# @return [Hash] Returns the object in the form of hash
|
204
|
+
def to_body
|
205
|
+
to_hash
|
206
|
+
end
|
207
|
+
|
208
|
+
# Returns the object in the form of hash
|
209
|
+
# @return [Hash] Returns the object in the form of hash
|
210
|
+
def to_hash
|
211
|
+
hash = {}
|
212
|
+
self.class.attribute_map.each_pair do |attr, param|
|
213
|
+
value = self.send(attr)
|
214
|
+
if value.nil?
|
215
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
216
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
217
|
+
end
|
218
|
+
|
219
|
+
hash[param] = _to_hash(value)
|
220
|
+
end
|
221
|
+
hash
|
222
|
+
end
|
223
|
+
|
224
|
+
# Outputs non-array value in the form of hash
|
225
|
+
# For object, use to_hash. Otherwise, just return the value
|
226
|
+
# @param [Object] value Any valid value
|
227
|
+
# @return [Hash] Returns the value in the form of hash
|
228
|
+
def _to_hash(value)
|
229
|
+
if value.is_a?(Array)
|
230
|
+
value.compact.map { |v| _to_hash(v) }
|
231
|
+
elsif value.is_a?(Hash)
|
232
|
+
{}.tap do |hash|
|
233
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
234
|
+
end
|
235
|
+
elsif value.respond_to? :to_hash
|
236
|
+
value.to_hash
|
237
|
+
else
|
238
|
+
value
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
end
|
243
|
+
|
244
|
+
end
|