class S3MediaServerApi::Media::Collection

Constants

COLLECTION

Public Class Methods

add_item(uuid, kind:, media_file_uuid:) click to toggle source
# 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

Private Class Methods

media_type() click to toggle source
# File lib/s3_media_server_api/media/collection.rb, line 52
def media_type; COLLECTION; end

Public Instance Methods

audios() click to toggle source
# 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
documents() click to toggle source
# 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
images() click to toggle source
# 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_uuid() click to toggle source
# File lib/s3_media_server_api/media/collection.rb, line 22
def owner_uuid
  @params[:owner_uuid]
end
videos() click to toggle source
# 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