class S3MediaServerApi::AwsFile

Public Class Methods

complete_upload(uuid) click to toggle source

completes multipart upload parameters: uuid - file uuid

# File lib/s3_media_server_api/aws_file.rb, line 92
def complete_upload(uuid)
  response = AsynkRequest.sync_request(base_path, :complete_upload, uuid: uuid)
  raise CompleteUploadError.message_from_asynk_response(response) unless response.success?
  AwsFile.new(response)
end
create_from_path(file_path) click to toggle source

creates file on s3_media_server parameters: file_path - path on file system to file

returns: response with created file

# File lib/s3_media_server_api/aws_file.rb, line 58
def create_from_path(file_path)
  params = {
             size: File.size(file_path),
             mime_type: file_mime_type(file_path),
             name: File.basename(file_path)
           }
  response = AsynkRequest.sync_request(base_path, :create, params)
  raise FileCreationError.message_from_asynk_response(response) unless response.success?
  AwsFile.new(response)
end
file_exists(uuid) click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 98
def file_exists(uuid)
  AsynkRequest.async_request(base_path, :file_exists, uuid: uuid)
end
get_signed_upload_url(uuid, part_number) click to toggle source

fetches signed upload url to upload specified part number parameters: uuid - file uuid

part_numer - part number that will be uploaded

returns: signed upload url

# File lib/s3_media_server_api/aws_file.rb, line 84
def get_signed_upload_url(uuid, part_number)
  response = AsynkRequest.sync_request(:uploads, :show, aws_file_uuid: uuid, uuid: part_number)
  response[:data][:upload_url]
end
new(response) click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 4
def initialize(response)
  @params = response[:data]
end
resolve(uuid) click to toggle source

fetches media file parameters: uuid - uuid of file

returns: response with file information

# File lib/s3_media_server_api/aws_file.rb, line 74
def resolve(uuid)
  AsynkRequest.sync_request(base_path, :resolve, uuid: uuid)
end

Private Class Methods

base_path() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 109
def base_path
  'aws_file'
end
file_mime_type(file_source_path) click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 104
def file_mime_type(file_source_path)
  mime_magic = MimeMagic.by_magic(File.open(file_source_path))
  mime_magic ? mime_magic.type : 'application/octet-stream'
end

Public Instance Methods

as_hash() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 40
def as_hash
  @params
end
default_part_size() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 24
def default_part_size
  @params[:default_part_size]
end
exists?() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 44
def exists?
  !@params.empty?
end
mime_type() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 16
def mime_type
  @params[:mime_type]
end
name() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 36
def name
  @params[:name]
end
public_url() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 32
def public_url
  @params[:public_url]
end
size() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 12
def size
  @params[:size]
end
state() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 28
def state
  @params[:state]
end
uploads_count() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 20
def uploads_count
  @params[:uploads_count]
end
uuid() click to toggle source
# File lib/s3_media_server_api/aws_file.rb, line 8
def uuid
  @params[:uuid]
end