Class: S3MediaServerApi::AwsFile
- Inherits:
-
Object
- Object
- S3MediaServerApi::AwsFile
- Defined in:
- lib/s3_media_server_api/aws_file.rb
Defined Under Namespace
Classes: AwsFileError, CompleteUploadError, FileCreationError
Class Method Summary collapse
-
.complete_upload(uuid) ⇒ Object
completes multipart upload parameters: uuid - file uuid.
-
.create_from_path(file_path) ⇒ Object
creates file on s3_media_server parameters: file_path - path on file system to file.
-
.get_signed_upload_url(uuid, part_number) ⇒ Object
fetches signed upload url to upload specified part number parameters: uuid - file uuid part_numer - part number that will be uploaded.
-
.resolve(uuid) ⇒ Object
fetches media file parameters: uuid - uuid of file.
Instance Method Summary collapse
- #as_hash ⇒ Object
- #default_part_size ⇒ Object
-
#initialize(response) ⇒ AwsFile
constructor
A new instance of AwsFile.
- #mime_type ⇒ Object
- #name ⇒ Object
- #public_url ⇒ Object
- #size ⇒ Object
- #state ⇒ Object
- #uploads_count ⇒ Object
- #uuid ⇒ Object
Constructor Details
#initialize(response) ⇒ AwsFile
Returns a new instance of AwsFile.
4 5 6 |
# File 'lib/s3_media_server_api/aws_file.rb', line 4 def initialize(response) @params = response[:data] end |
Class Method Details
.complete_upload(uuid) ⇒ Object
completes multipart upload parameters: uuid - file uuid
88 89 90 91 92 |
# File 'lib/s3_media_server_api/aws_file.rb', line 88 def complete_upload(uuid) response = AsynkRequest.sync_request(base_path, :complete_upload, uuid: uuid) raise CompleteUploadError.(response) unless response.success? AwsFile.new(response) end |
.create_from_path(file_path) ⇒ Object
creates file on s3_media_server parameters: file_path - path on file system to file
returns: response with created file
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/s3_media_server_api/aws_file.rb', line 54 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.(response) unless response.success? AwsFile.new(response) end |
.get_signed_upload_url(uuid, part_number) ⇒ Object
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
80 81 82 83 |
# File 'lib/s3_media_server_api/aws_file.rb', line 80 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 |
.resolve(uuid) ⇒ Object
fetches media file parameters: uuid - uuid of file
returns: response with file information
70 71 72 |
# File 'lib/s3_media_server_api/aws_file.rb', line 70 def resolve(uuid) AsynkRequest.sync_request(base_path, :resolve, uuid: uuid) end |
Instance Method Details
#as_hash ⇒ Object
40 41 42 |
# File 'lib/s3_media_server_api/aws_file.rb', line 40 def as_hash @params end |
#default_part_size ⇒ Object
24 25 26 |
# File 'lib/s3_media_server_api/aws_file.rb', line 24 def default_part_size @params[:default_part_size] end |
#mime_type ⇒ Object
16 17 18 |
# File 'lib/s3_media_server_api/aws_file.rb', line 16 def mime_type @params[:mime_type] end |
#name ⇒ Object
36 37 38 |
# File 'lib/s3_media_server_api/aws_file.rb', line 36 def name @params[:name] end |
#public_url ⇒ Object
32 33 34 |
# File 'lib/s3_media_server_api/aws_file.rb', line 32 def public_url @params[:public_url] end |
#size ⇒ Object
12 13 14 |
# File 'lib/s3_media_server_api/aws_file.rb', line 12 def size @params[:size] end |
#state ⇒ Object
28 29 30 |
# File 'lib/s3_media_server_api/aws_file.rb', line 28 def state @params[:state] end |
#uploads_count ⇒ Object
20 21 22 |
# File 'lib/s3_media_server_api/aws_file.rb', line 20 def uploads_count @params[:uploads_count] end |
#uuid ⇒ Object
8 9 10 |
# File 'lib/s3_media_server_api/aws_file.rb', line 8 def uuid @params[:uuid] end |