Class: Uplink::Upload
- Inherits:
-
Object
- Object
- Uplink::Upload
- Defined in:
- lib/uplink/upload.rb
Instance Method Summary collapse
- #abort ⇒ Object
- #commit ⇒ Object
- #info ⇒ Object
-
#initialize(upload_result) ⇒ Upload
constructor
A new instance of Upload.
- #set_custom_metadata(custom) ⇒ Object
- #write(bytes, length) ⇒ Object
Constructor Details
#initialize(upload_result) ⇒ Upload
Returns a new instance of Upload.
5 6 7 |
# File 'lib/uplink/upload.rb', line 5 def initialize(upload_result) @upload = upload_result[:upload] end |
Instance Method Details
#abort ⇒ Object
44 45 46 47 48 49 |
# File 'lib/uplink/upload.rb', line 44 def abort error = UplinkLib.uplink_upload_abort(@upload) ErrorUtil.handle_error(error) ensure UplinkLib.uplink_free_error(error) if error end |
#commit ⇒ Object
37 38 39 40 41 42 |
# File 'lib/uplink/upload.rb', line 37 def commit error = UplinkLib.uplink_upload_commit(@upload) ErrorUtil.handle_error(error) ensure UplinkLib.uplink_free_error(error) if error end |
#info ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/uplink/upload.rb', line 51 def info result = UplinkLib.uplink_upload_info(@upload) ErrorUtil.handle_result_error(result) Object.new(result) ensure UplinkLib.uplink_free_object_result(result) if result end |
#set_custom_metadata(custom) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/uplink/upload.rb', line 28 def (custom) = UplinkUtil.(custom) error = UplinkLib.(@upload, ) ErrorUtil.handle_error(error) ensure UplinkLib.uplink_free_error(error) if error end |
#write(bytes, length) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/uplink/upload.rb', line 9 def write(bytes, length) raise ArgumentError, 'bytes argument is nil' if bytes.nil? if bytes.is_a?(Array) && bytes.first.is_a?(Integer) mem_bytes = FFI::MemoryPointer.new(:uint8, length) mem_bytes.write_array_of_uint8(bytes) else mem_bytes = bytes end result = UplinkLib.uplink_upload_write(@upload, mem_bytes, length) abort unless result[:error].null? ErrorUtil.handle_result_error(result) result[:bytes_written] ensure UplinkLib.uplink_free_write_result(result) if result end |