Module: Shotstack::Destinations
- Defined in:
- lib/shotstack/models/destinations.rb
Overview
A destination is a location where assets can be sent to for serving or hosting. Videos, images and audio files that are rendered by the [Edit API](#shotstack-edit) and [source](#tocs_source) and [rendition](#tocs_rendition) files generated by the [Ingest API](#shotstack-ingest) can be sent to destinations. You can also fetch a file from any public URL and [transfer](#transfer-asset) it to a destination. A file can be sent to one or more destinations including 3rd party destinations. By default all ingested and generated assets are automatically sent to the [Shotstack hosting destination](shotstack.io/docs/guide/serving-assets/hosting/). You can [opt-out](shotstack.io/docs/guide/serving-assets/self-host/) from by setting the Shotstack destination exclude property to true. The following destinations are available: <ul> <li><a href="#tocs_shotstackdestination">ShotstackDestination</a></li> <li><a href="#tocs_muxdestination">MuxDestination</a></li> <li><a href="#tocs_s3destination">S3Destination</a></li> <li><a href="#tocs_googlecloudstoragedestination">GoogleCloudStorageDestination</a></li> </ul>
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_any_of ⇒ Object
List of class defined in anyOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/shotstack/models/destinations.rb', line 33 def build(data) # Go through the list of anyOf items and attempt to identify the appropriate one. # Note: # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) # due to the way the deserialization is made in the base_object template (it just casts without verifying). # - TODO: scalar values are de facto behaving as if they were nullable. # - TODO: logging when debugging is set. openapi_any_of.each do |klass| begin next if klass == :AnyType # "nullable: true" typed_data = find_and_cast_into_type(klass, data) return typed_data if typed_data rescue # rescue all errors so we keep iterating even if the current item lookup raises end end openapi_any_of.include?(:AnyType) ? data : nil end |
.openapi_any_of ⇒ Object
List of class defined in anyOf (OpenAPI v3)
21 22 23 24 25 26 27 28 |
# File 'lib/shotstack/models/destinations.rb', line 21 def openapi_any_of [ :'GoogleCloudStorageDestination', :'MuxDestination', :'S3Destination', :'ShotstackDestination' ] end |