Method: CloudDoor::CloudStorage#upload_file

Defined in:
lib/cloud_door/cloud_storage.rb

#upload_file(file_name) ⇒ Object



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/cloud_door/cloud_storage.rb', line 155

def upload_file(file_name)
  @up_file_name = file_name
  raise FileNameEmptyException if @up_file_name.nil? || @up_file_name.empty?
  unless File.exist?(@up_file_name)
    raise FileNotExistsException, "'#{@up_file_name}' is not exists on local."
  end
  @parent_id = pull_parent_id
  up_file = assign_upload_file_name(file_name)
  compress_file if File.directory?(@up_file_name)
  # if not raise error, judge that's success
  request_upload(up_file)
  update_file_list
  File.delete(up_file) if File.directory?(@up_file_name)
  true
rescue => e
  unless e.is_a?(FileNameEmptyException)
    File.delete(up_file) if File.directory?(@up_file_name)
  end
  handle_exception(e)
end