Class: S3MediaServerApi::Media::Collection

Inherits:
CommonMediaApi show all
Defined in:
lib/s3_media_server_api/media/collection.rb

Constant Summary collapse

COLLECTION =
'collection'

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CommonMediaApi

#as_hash, create, create_from_path, custom_async_request, custom_sync_request, destroy, #exist?, #initialize, #name, resolve, #size, #uuid

Constructor Details

This class inherits a constructor from S3MediaServerApi::Media::CommonMediaApi

Class Method Details

.add_item(uuid, kind:, media_file_uuid:) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/s3_media_server_api/media/collection.rb', line 28

def add_item(uuid, kind:, media_file_uuid:)
  kind = kind.to_s
  return unless uuid || media_file_uuid || kind
  return unless ['videos', 'documents', 'images', 'audios'].include? kind

  params =  media_type.to_s == 'videos' ? {uuid: media_file_uuid} : {aws_file_uuid: media_file_uuid}
  params.merge!({kind: kind, collection_uuid: uuid})

  response = custom_sync_request(:add_item, params)

  case kind
  when 'videos'
    Video.new(response)
  when 'images'
    Image.new(response)
  when 'audios'
    Audio.new(response)
  when 'documents'
    Docuemnt.new(response)
  end
end

Instance Method Details

#audiosObject



18
19
20
# File 'lib/s3_media_server_api/media/collection.rb', line 18

def audios
  @params[:audios].map { |audio| Audio.new(data: audio) } if @params[:audios]
end

#documentsObject



14
15
16
# File 'lib/s3_media_server_api/media/collection.rb', line 14

def documents
  @params[:documents].map { |document| Video.new(data: document) } if @params[:documents]
end

#imagesObject



10
11
12
# File 'lib/s3_media_server_api/media/collection.rb', line 10

def images
  @params[:images].map { |image| Image::ImageObject.new(data: image) } if @params[:images]
end

#owner_uuidObject



22
23
24
# File 'lib/s3_media_server_api/media/collection.rb', line 22

def owner_uuid
  @params[:owner_uuid]
end

#videosObject



6
7
8
# File 'lib/s3_media_server_api/media/collection.rb', line 6

def videos
  @params[:videos].map { |video| Video.new(data: video) } if @params[:videos]
end