class Attachie::FileDriver::FileMultipartUpload

Public Class Methods

new(name, bucket, driver, &block) click to toggle source
Calls superclass method
# File lib/attachie/file_driver.rb, line 9
def initialize(name, bucket, driver, &block)
  super()

  @name = name
  @bucket = bucket
  @driver = driver

  @stream = open(driver.path_for(name, bucket), "wb")

  if block_given?
    begin
      block.call(self)
    rescue => e
      abort_upload

      raise e
    end

    complete_upload
  end
end

Public Instance Methods

abort_upload() click to toggle source
# File lib/attachie/file_driver.rb, line 37
def abort_upload
  @stream.close

  @target.delete(name, bucket)
end
complete_upload() click to toggle source
# File lib/attachie/file_driver.rb, line 43
def complete_upload
  @stream.close
end
upload_part(data) click to toggle source
# File lib/attachie/file_driver.rb, line 31
def upload_part(data)
  synchronize do
    @stream.write(data)
  end
end