module UploaderHelperS3
Protected Instance Methods
delete_uploaded_files()
click to toggle source
# File lib/mrpin/core/uploaders/carrierwave/uploader_helper_s3.rb, line 64 def delete_uploaded_files url_uploaders_map.each do |field_name, uploader_field| url = self.send(field_name) delete_file_from_s3(url) end end
try_update_uploaded_files()
click to toggle source
Methods
# File lib/mrpin/core/uploaders/carrierwave/uploader_helper_s3.rb, line 28 def try_update_uploaded_files url_uploaders_map.each do |field_name, uploader_field| next unless self.send(uploader_field).present? begin file_to_upload = self.send(uploader_field).file.file.to_s # delete old file if was uploaded old_url = self.send(field_name) delete_file_from_s3(old_url) # upload new file path = get_path_for_uploader_absolute(field_name) name = get_upload_file_name(field_name, file_to_upload) s3_key = File.join(path, name) s3_file_info = aws_uploader.upload_file_to_s3(file_to_upload, AWSUploader::BUCKET_NAME_DEFAULT, s3_key) self.send("#{field_name}=", s3_file_info.url_cloud_front) rescue Exception => e errors[:base] << e.to_s ensure file_path = File.dirname(file_to_upload) FileUtils.rm_rf(file_path) if File.exist?(file_path) end end end
Private Instance Methods
aws_uploader()
click to toggle source
Properties
# File lib/mrpin/core/uploaders/carrierwave/uploader_helper_s3.rb, line 19 def aws_uploader @aws_uploader ||= AppInfo.instance.aws_uploader end
delete_file_from_s3(url)
click to toggle source
# File lib/mrpin/core/uploaders/carrierwave/uploader_helper_s3.rb, line 74 def delete_file_from_s3(url) unless url.nil? || url.blank? s3_url = aws_uploader.get_s3_url(url) aws_uploader.delete_file_from_s3_by_uri(AWSUploader::BUCKET_NAME_DEFAULT, s3_url) end end